[JS] incompatibilté IE?

Résolu
ApoKps Messages postés 140 Statut Membre -  
ApoKps Messages postés 140 Statut Membre -
Salut à tous,

j'ai un problème avec un code javascript. Il marche nickelement bien sur firefox, mais ne fais rien sous IE (qu'on vienne me dire qu'IE est génial après.... lol)

il est cencé activer un champ d'un formulaure par rapport à un autre.

Voilà le code HTML
<p>
				<label for="localisation" id="labelLocalisation">Localisation* :</label>
					<select size="1" name="localisation">
						<option value=" " onclick="desactiver('idPays', 'labelPays');">Choisissez</option>
						<option value="France métropolitaine" onclick="desactiver('idPays', 'labelPays');">France métropolitaine</option>
						<option value="DOM TOM" onclick="desactiver('idPays', 'labelPays');">DOM TOM</option>
						<option value="Etranger" onclick="activer('idPays', 'labelPays');">Etranger</option>
					</select>
				</p>
				
				<p>
				<label for="pays" id="labelPays" class="desactive">Pays (si étranger)* :</label> 
				<input type="text" size="10" maxlength="20" name="pays" id="idPays" disabled="disabled"/> 
				</p>




et le JS

				function activer(elt, label){
					document.getElementById(elt).disabled=false;
					document.getElementById(label).style.color='black';
				};

				function desactiver(elt, label){
					document.getElementById(elt).disabled=true;
					document.getElementById(label).style.color='gray';
				};



Merci infiniement d'avance :D

ApoKps
A voir également:

3 réponses

Utilisateur anonyme
 
IE qui fait encore des siennes... (vive firefox XD)

tu as teste avec que version(s) de IE ?
0
goldo Messages postés 74 Statut Membre 8
 
tu peux toujours essayer de remplacer document.getElementById(id) par document.nomDuForm.elementDuForm
0
artragis Messages postés 510 Statut Membre 146
 
effectivement Goldo a raison. getdocument ne fait pas partie du DOM de IE (quoique IE 7 peut peut-être le faire. mais je déconseille ce navigateur)
remplace par document.nomdudic.nomduform, qui lui est dans les deux DOM, qui plus est la comande est plus rapide (en effet, get document fait une recherche de fichier plus globale. alors que donner sous la seconde forme, tu as une adresse. donc il cherchera l'etiquette à l'endroit précisé et seulement là.
0
Dalida Messages postés 7114 Statut Contributeur 923 > artragis Messages postés 510 Statut Membre
 
salut,

tu dois parler de 'document.getElementById()' et si il ne fonctionne pas sous IE, j'ai des scripts à ré-écrire alors qu'ils fonctionnent très bien…

par contre le 'onclick' sur un <option> j'y crois pas trop.
mieux vaudrait utiliser 'onchange' sur le <select>.

un exemple fait pour une autre question
0
ApoKps Messages postés 140 Statut Membre 6
 
merci à tout ceux qui ont essayés de m'aider, et désolé pour l'attente.

Voilà comment j'ai résolu le problème ;)

/*activation et désactivation automatique des inputs dans les formulaires */
function activer(elt, label){
document.getElementById(elt).disabled=false;
document.getElementById(label).style.color='black';
};

function desactiver(elt, label){
document.getElementById(elt).disabled=true;
document.getElementById(label).style.color='gray';
};

voilà voilà

ApoKps
0