2009-08-12 8 views
2

J'ai 2 cases à cocher sur une page. Ils sont enveloppés dans une cellule de table chacun dans leur propre rangée. Faire un document.getElementById ('chk1_FEAS ~ 1005') retourne l'élément mais document.getElementById ('chk5_STG2 ~ 1005') est nul. Pour quelles raisons cela pourrait-il se produire? (Je suis en train de tester IE 8).document.getElementById ne fonctionne pas

<input id="chk1_FEAS~1005" value="JobStages###StageCode~JobCode###FEAS~1005" onclick="addRemoveRow(this.value,this.checked)" style="border-width:0px;padding:1px;margin:0px;height:14px;" type="checkbox" /> 

<input id="chk5_STG2~1005" value="JobStages###StageCode~JobCode###STG2~1005" onclick="addRemoveRow(this.value,this.checked)" style="border-width:0px;padding:1px;margin:0px;height:14px;" type="checkbox" /> 
+0

Fournir un document HTML, avec javascript défaillant dans le tag HEAD, aiderait (créer un exemple trivial à partir de votre code réel, le cas échéant). – lance

Répondre

10

Votre identification a des caractères non valides:

ID et jetons Le nom doit commencer par une lettre ([ A-Za-z]) et peut être suivi par n'importe quel nombre de lettres, les chiffres ([0-9]), les tirets ("-"), les traits de soulignement ("_"), les deux-points (":") et les périodes (".").

Plus d'informations here.

+2

+1 Ceci est la seule réponse correcte – cletus

+0

Ce n'est pas le problème avec l'exemple, bien que vous ayez raison que c'est la recommandation. –

+0

Très bien. Mais pourquoi le premier fonctionnerait-il? – user48408

1
document.getElementById('hk5_STG2~1005') 

devrait être

document.getElementById('chk5_STG2~1005') 

:-)

0

En regardant votre échantillon est une faute de frappe, le deuxième élément devrait être, document.getElementById('chk5_STG2~1005')

Aussi, je recommande de retirer le caractère ~ car il est invalide pour un id.

+0

ouais désolé c'était une faute de frappe. document.getElementById ('chk5_STG2 ~ 1005') ne fonctionne pas – user48408

0

Pour ce que ça vaut, j'ai des problèmes similaires en utilisant document.getElementById sur les cases à cocher dans IE8. Essayez d'ajouter cette balise à votre section de tête: -

<meta http-equiv="X-UA-Compatible" content="IE=7" /> 

Cela forcera IE8 en mode de compatibilité IE7. Cela fonctionne pour moi comme une solution de contournement jusqu'à ce que je découvre ce qui est vraiment en place.