2012-03-15 10 views
-3

IE 7で奇妙な動作が起こり、他のすべてのブラウザが正常に動作します。IE7オブジェクトが予想される

チェックボックスをオンにすると、オブジェクトが返されます。

http://jsfiddle.net/EnYVZ/1/

任意のアイデアなぜですか?

コード:

<div class='tile' onclick=checkbox('95991285')> 
<label for='95991285'> 
<div> 
<input style='vertical-align:middle' type='checkbox' name='frnd[]' value='95991285' id='95991285' checked='checked' /> 
<img style='vertical-align:middle' src='http://s13.postimage.org/je9k86un7/img.jpg'> 
<p>full name</p> 
</div> 
</label> 
</div>​ 
+3

あなたは、単に「チェックボックス」と呼ばれる機能を持っていないので、それはすべてのブラウザで失敗します。これはネイティブのJavaScript関数ではありません。 –

+1

あなたは何人のブラウザで確認しましたか? Firefoxは言う: "チェックボックスは定義されていません"。それはうまくいくのですか? –

+1

真剣に今、このコードで何を達成しようとしていますか?たぶん私たちは助けることができます。たぶん私たちは '

答えて

0

私は解決策を得ました。私はこのスレッドに参照:

How do I make a checkbox toggle from clicking on the text label as well?

私の元のコード:

<div class='tile' onclick=checkbox('95991285')> 
<label for='95991285'> 
<div> 
<input style='vertical-align:middle' type='checkbox' name='frnd[]' value='95991285' id='95991285' checked='checked' /> 
<img style='vertical-align:middle' src='http://s13.postimage.org/je9k86un7/img.jpg'> 
<p>full name</p> 
</div> 
</label> 
</div>​ 

を私はこれを削除:onclick=checkbox('95991285')

私のコードは、複数のソースを取り、それらを一緒に結合した結果でした。 IE 7以降を除くすべてのブラウザで動作します。理由を理解したかったのです。

私はjavascriptの初心者で、onclickチェックボックスはネイティブ関数であると仮定しましたが、そうではありません。

作業コード:

<div class='tile'> 
<label for='95991285'> 
<div> 
<input style='vertical-align:middle' type='checkbox' name='frnd[]' value='95991285' id='95991285' checked='checked' /> 
<img style='vertical-align:middle' src='http://s13.postimage.org/je9k86un7/img.jpg'> 
<p>full name</p> 
</div> 
</label> 
</div>​ 
2

あなたは定義されたチェックボックスの機能を持っていません。このステートメントで関数を呼び出そうとしています

checkbox('1000015175634') 

しかし、その関数は存在しません。

バリデーターを使ってコードを実行すると助けになる可能性のあるその他のマイナーな問題もありますが、それは大きなものです。

コードは、おそらく次のようになります。これはやって正確に

<div class="tile" onclick="checkboxAction('a1000015175634')">  
    <input type="checkbox" value="a1000015175634" id="a1000015175634" checked="checked" />  
    <p>name</p> 
</div> 

<script> 
    function checkboxAction(inputBox) { 
     // something with inputBox 
    } 
</script>​ 

どうなっていますか?

+0

JavaScriptでfunctionステートメントを含む行には必ずカッコをつけるべきです。 – danwellman

+0

@danwellmanなぜですか? (私は彼らがそうしてはならないと言っているわけではない...私は根拠が何であるか分からない。) – Beska

+0

@danwellman Nevermind ...クイック検索は非常に迅速に答えを出しました。 http://encosia.com/in-javascript-curly-brace-placement-matters-an-example/修正されました。 – Beska

関連する問題