3

ページに 2 つのチェックボックスがあります。それぞれが独自の行内の表のセルにラップされています。document.getElementById('chk1_FEAS~1005') を実行すると要素が返されますが、document.getElementById('chk5_STG2~1005') は null です。これはどのような理由で発生する可能性がありますか? (IE 8でテストしています)。

<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" />
4

4 に答える 4

11

ID に無効な文字が含まれています:

ID および NAME トークンは文字 ([A-Za-z]) で始まる必要があり、その後に任意の数の文字、数字 ([0-9])、ハイフン ("-")、アンダースコア ("_") を続けることができます、コロン (":")、およびピリオド (".")。

詳細はこちら

于 2009-08-12T14:21:31.697 に答える
1
document.getElementById('hk5_STG2~1005') 

する必要があります

document.getElementById('chk5_STG2~1005') 

:-)

于 2009-08-12T14:21:06.393 に答える
0

document.getElementById価値があるのは、IE8のチェックボックスを使用して同様の問題があることです。このタグを head セクションに追加してみてください:-

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

これにより、IE8 が強制的に IE7 互換モードになります。実際に何が起こっているのかがわかるまで、回避策として機能します。

于 2009-08-12T14:52:01.303 に答える
0

あなたのサンプルを見ると、それはタイプミスです.2番目の項目は、document.getElementById('chk5_STG2~1005')

また、ID には無効な ~ 文字を削除することをお勧めします。

于 2009-08-12T14:21:54.817 に答える