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 :

Interpretation différente du Javascript entre IE & FF ?


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 40
    Points : 23
    Points
    23
    Par défaut Interpretation différente du Javascript entre IE & FF ?
    Bonjour,
    Je réalise un formulaire dans lequel l'utilisateur peut désactiver une partie du formulaire en décochant une case.
    Par exemple s'il ne veut pas renseigner son sexe, il décoche la case qu'il faut et les champs qu'il avait à remplir avant deviennent grisés.
    J'ai donc cette fonction JS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function show_hide(element){
    	if (document.getElementById(element).disabled !=true) {
    			document.getElementById(element).disabled = true;
    		}
    		else {
    			document.getElementById(element).disabled = false;
    		}
    	}
    Et une partie de mon code html :

    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
     
    <div style="color:red">	
    				<input type="checkbox" checked="checked" name="main_checkbox" onChange="show_hide('age_1');show_hide('age_rel1'); show_hide('age_rel11');show_hide('age_2');show_hide('age_rel2');show_hide('age_rel22')">
    				1 - Age :</div>
    					<br>
    					<input type="checkbox" checked="checked" id="age_1" name="age_1" onchange="show_hide('age_rel1');show_hide('age_rel11')"> Inférieur à ...
    						<select id="age_rel1" name="age_rel1">
    							<option>Inferieur</option>
    							<option>Egal</option>
    							<option>Superieur</option>
    						</select>
    						&nbsp
    						à &nbsp
    						<select id="age_rel11" name="age_rel11">
    								<option>4</option>
    								<option>5</option>
    								<option>6</option>
    							</select>
    						&nbsp
    						ans.
    						<br>
    						<br>
    					<input type="checkbox" checked="checked" id="age_2" name="age_2" onchange="show_hide('age_rel2');show_hide('age_rel22')"> De ... à ...
    					De &nbsp <select id="age_rel2" name="age_rel2">
    								<option>4</option>
    								<option>5</option>
    								<option>6</option>
    							</select> &nbsp à &nbsp <select id="age_rel22" name="age_rel22"> <?php echo $select_age;?> &nbsp ans.
    Donc j'ai de nombreuses cases qui permettent d'activer ou désactiver un champ du formulaire sur ma page et au chargement, par défaut, tout est coché et donc tout est activé.
    Ca marche nickel sous Firefox mais sous IE6 ou 7 ça réagit aléatoirement !
    C'est-à-dire que une fois ça va rien désactiver, une fois ça va désactiver complètement autre chose dans le formulaire. En fait, j'ai l'impression que sous IE la fonction JS est appelée avec un paramètre vraiment aléatoire. Des fois même quand je rafraichis la page sous IE ça décoche un truc.
    Je ne sais pas si le problème vient de ma fonction JS ou si c'est mes id="xxx" qui ne vont pas m'enfin ça marche parfaitement sous Firefox...
    Si vous avez une idée du pourquoi du comment, ça m'aiderait beaucoup
    Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 143
    Points
    11 143
    Par défaut
    bonjour,

    sur tes checkbox utilise l'événement onclick au lieu de l'évenement onchange.
    L'événement onchange utilise le exclusivement pour la balise select

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 40
    Points : 23
    Points
    23
    Par défaut
    Euh, comment dire....
    MERCI, ça va?
    Merci vraiment, j'ai bien flipé d'avoir bosser quelques dizaines d'heures sur un truc en me rendant compte tout à la fin (comme un c..) que ça ne fonctionne pas sous IE...
    J'ai pensé à tester plein de trucs mais je n'ai pas pensé à changer les onclick par onchange

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

Discussions similaires

  1. Incompatibilité Javascript entre Firefox et IE
    Par soda_o_rat dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/02/2007, 14h28
  2. Réponses: 21
    Dernier message: 14/04/2006, 08h30
  3. Probleme javascript entre IE et Firefox
    Par yobogs dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/02/2006, 21h58
  4. question javascript entre < et &#60;
    Par hutchuck dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/01/2006, 11h24
  5. Partager du code Javascript entre plusieurs pages HTML
    Par oceane751 dans le forum Général JavaScript
    Réponses: 29
    Dernier message: 10/01/2006, 15h20

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