[JS] incompatibilté IE?

Résolu
ApoKps Messages postés 140 Date d'inscription   Statut Membre Dernière intervention   -  
ApoKps Messages postés 140 Date d'inscription   Statut Membre Dernière intervention   -
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 72 Date d'inscription   Statut Membre Dernière intervention   8
 
tu peux toujours essayer de remplacer document.getElementById(id) par document.nomDuForm.elementDuForm
0
artragis Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   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 6728 Date d'inscription   Statut Contributeur Dernière intervention   922 > artragis Messages postés 481 Date d'inscription   Statut Membre Dernière intervention  
 
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 Date d'inscription   Statut Membre Dernière intervention   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