IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Erreur de script sous ie (encore lui!)


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 25
    Points : 17
    Points
    17
    Par défaut Erreur de script sous ie (encore lui!)
    Salut à vous tous,
    Mon pb est simple Mon code marche bien sur firefox et sur ie 7, mais celui-ci m'indique une erreur de valeur indéfini à ligne 141:
    'undefined' a la valeur Null ou n'est pas un objet.

    mon code javascript dans le head:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    <script type="text/javascript">
    	<!--
    	function Choix(form) {
    		var i = document.forms[0].elements["Rubrique"].selectedIndex;
     
    		if (i == 0) {
      		document.forms[0].elements["Page"].options[0].text="Choisissez une page";
    		for (i=1;i<4;i++) {
        			document.forms[0].elements["Page"].options[i].text="";
    		}
      		return;
      		}
    		document.forms[0].elements["Page"].selectedIndex = 0;
    		document.forms[0].elements["url1"].value=document.forms[0].elements["Rubrique"].options[i].text;
    		switch (i) {
    		case 1 : var txt = new Array ('Matériel','Poissons','Sécurité');break;
    		case 2 : var txt = new Array ('Radioactivité','Information','Mesures');break;
    		case 3 : var txt = new Array ('Philosophie','Psychologie','Humour');break;
    		}
     
    		document.forms[0].elements["Page"].options[0].text="Choisissez une page";
    		for (i=0;i<3;i++) {
      			document.forms[0].elements["Page"].options[i+1].text=txt[i];
      		}
    	}
    	function Choix2(form) {
    		var i = document.forms[0].elements["Rubrique"].selectedIndex;
    		var j = document.forms[0].elements["Page"].selectedIndex;
     
    		if (i == 0) {
      			document.forms[0].elements["Page1"].options[0].text="Choisissez une page";
    			for (i=1;i<4;i++) {
        				document.forms[0].elements["Page1"].options[i].text="";
    			}
      			return;
      		}
    		document.forms[0].elements["Page1"].selectedIndex = 0;
    		document.forms[0].elements["url2"].value=document.forms[0].elements["Page"].options[j].text;	
    		if (i == 1) {
    			switch (j) {
    				case 1 : var txt1 = new Array ('1','2','3');break;
    				case 2 : var txt1 = new Array ('4','5','6');break;
    				case 3 : var txt1 = new Array ('7','8','9');break;
    			}
     
    		}else 
    			if (i == 2) {
    			switch (j) {
    				case 1 : var txt1 = new Array ('10','11','12');break;
    				case 2 : var txt1 = new Array ('13','14','15');break;
    				case 3 : var txt1 = new Array ('16','17','18');break;
    			}
     
    		}else
    			if (i == 3) {
    			switch (j) {
    				case 1 : var txt1 = new Array ('19','20','21');break;
    				case 2 : var txt1 = new Array ('22','23','24');break;
    				case 3 : var txt1 = new Array ('25','26','27');break;
    			}
     
    		}else {
     
    		switch (j) {
    				case 1 : var txt1 = new Array ('0','0','0');break;
    				case 2 : var txt1 = new Array ('0','0','0');break;
    				case 3 : var txt1 = new Array ('0','0','0');break;
    			}
    		}
     
     
    		document.forms[0].elements["Page1"].options[0].text="Choisissez une page";
    	//**********************************************************************************
    	for (i=0;i<3;i++) {
      			document.forms[0].elements["Page1"].options[(i+1)].text= txt1[i];
      		}
    	}
    	//***********************************************************************************
    	function Choix3(form) {
    	var i = document.forms[0].elements["Page1"].selectedIndex;
     
    	document.forms[0].elements["url3"].value=document.forms[0].elements["Page1"].options[i].text;
     
    	}
    	// -->
    	</script>
     
    	<script type="text/javascript">
     	<!--
    	function Calcul() {
    	document.forms[0].elements["url"].value=document.forms[0].elements["url1"].value + document.forms[0].elements["url2"].value + document.forms[0].elements["url3"].value + document.forms[0].elements["url4"].value+ document.forms[0].elements["url5"].value+ document.forms[0].elements["url6"].value;
    	} 
    	// -->
    	</script>
    J'ai mis des //********************** avant et après le code qui pose problème. Ce serais ce code :txt1[i]; qu'il n'apprécierait pas. Je le retourne depuis ce matin, sans succès.


    mon code dans le body si ca peu aider:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <select name="Rubrique" onclick="Choix(this.form);" style="width:150px">
    	   	<option value="Choisissez une rubrique">Choisissez une rubrique</option>
    	   	<option value="Plongée">Plongée</option>
    	   	<option value="Nucléaire">Nucléaire</option>
    	   	<option value="Bonheur">Bonheur</option>
    		</select>
    <select name="Page" onclick="Choix2(this.form);" style="width:150px">
    	   	<option  >Choisissez une page</option>
    		<option  ></option>
    	   	<option  ></option>
    	   	<option  ></option>
    		</select>
    <select name="Page1" onclick="Choix3(this.form);" style="width:150px">
    	   	<option  >Choisissez une page</option>
    		<option  ></option>
    	   	<option  ></option>
    	   	<option  ></option>
    		</select>
    Celà me permet de définir les différents champs en fonction de celui qui le précède.
    A+ Stéphane

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,
    function Choix(form)
    La variable form n'est jamais utilisé.
    document.forms[0].elements["Page1"].options[i].text="";
    text n'est pas cross-browser, utilise innerHTML

    Utilise onchange à la place de onclick et ça marche.

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Salut andry
    Merci pour le tuyau.
    Tu me dis:
    La variable form n'est jamais utilisé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms[0].elements["Page1"].options[i].text="";
    Ou devrais je l'utliser? Car j'ai récupérer ce code et je ne saisie pas tout.Je ne suis pas une lumiaire en javascript. Peut etre à la place de forms???
    Merci pour le coup de main
    A+ Stéphane

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Vire le paramètre form car il n'est pas utilisé,
    Modifie le onclick par onchage, car lors du click, aucun option n'est selectionné ainsi les array ne sont pas créés lors du changement du contenue de l'autre select.

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Merci pour l'explication, c'est plus clair.
    A+ Stéphane

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. erreur de script sous Wampserver .
    Par Knmpc dans le forum Langage
    Réponses: 2
    Dernier message: 26/03/2012, 21h10
  2. Erreur script sous ie8
    Par cartman17 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 23/03/2011, 19h14
  3. Erreur démarrage "filesystem" sous RedHat 8
    Par stewen dans le forum Administration système
    Réponses: 14
    Dernier message: 02/12/2003, 11h37
  4. quel langage choisir pour faire de script sous windows
    Par pas05 dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 18/11/2002, 22h42
  5. Réponses: 1
    Dernier message: 23/10/2002, 13h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo