[JS] incompatibilté IE?

Résolu/Fermé
ApoKps Messages postés 140 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 26 septembre 2008 - 14 avril 2008 à 14:06
ApoKps Messages postés 140 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 26 septembre 2008 - 4 mai 2008 à 16:52
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
14 avril 2008 à 14:52
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 mercredi 23 juin 2004 Statut Membre Dernière intervention 28 juin 2010 8
14 avril 2008 à 14:58
tu peux toujours essayer de remplacer document.getElementById(id) par document.nomDuForm.elementDuForm
0
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 146
15 avril 2008 à 09:14
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922 > artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010
15 avril 2008 à 10:58
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 jeudi 25 janvier 2007 Statut Membre Dernière intervention 26 septembre 2008 6
4 mai 2008 à 16:52
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