2009-08-12 6 views
2

ページに2つのチェクボックスがあります。テーブルセルにはそれぞれ独自の行内にラップされています。 document.getElementById( 'chk1_FEAS〜1005')は要素を返しますが、document.getElementById( 'chk5_STG2〜1005')はnullです。何が起こったのでしょうか? (私はIE 8でテストしています)。document.getElementById not working

<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

HEADタグに失敗したJavaScriptを含むHTMLドキュメントを提供すると、必要に応じて実際のコードから簡単な例を作成できます。 – lance

答えて

10

あなたのIDが無効な文字があります

IDとNAMEトークンは、[( 文字で始まる必要がありますがA-Za-z])に従い、 文字の任意の数、数字 ([0-9])、ハイフン( " - ")、( "_") を強調し、コロン( ":")、ピリオド ( "")。

詳細情報here。それはタイプミスで、あなたのサンプルを見てみると

+2

+1これが唯一の正しい応答です – cletus

+0

この例ではこれは問題ではありませんが、これは推奨事項ですが正しいです。 –

+0

十分です。しかし、最初の作品はなぜでしょうか? – user48408

1
document.getElementById('hk5_STG2~1005') 

でなければなりません

document.getElementById('chk5_STG2~1005') 

:-)

0

、2番目の項目はまた、document.getElementById('chk5_STG2~1005')

する必要があり、私はそれがIDの無効であるとして〜の文字を削除することをお勧めします。何が価値があるために

+0

うん、申し訳ありませんが、それはタイプミスでした。 document.getElementById( 'chk5_STG2〜1005')が機能していません – user48408

0

、私はIE8でチェックボックスにdocument.getElementByIdを使用して、同様の問題を抱えています。あなたの頭の部分にこのタグを追加してみてください: -

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

これは、IE7互換モードにIE8を強制します。実際に何が起きているかを知るまでは、回避策として私には役立ちます。