2011-04-25 7 views
0

私は異なるIDを持つ複数のフォームを持っていますが、同じ入力名とIDを使用しています。例:入力タグのIE7でのJQueryセレクターの問題

<form id="form1> 
    <input name="email" id="email" value="[email protected]"/> 
    ..... 
</form> 
<form id="form2> 
    <input name="email" id="email" value="[email protected]"/> 
    ..... 
</form> 

そして、私のJquery準備機能では以下のコードがあります。これはFireFox、Chromeではうまく動作しますが、IE7ではうまく動作しません。これはFireFoxのChromeでは「[email protected]」、電子メールの値は「未定義」と表示されています。助言がありますか?ご入力された名前とIDの両方が単に「メール」です....そして、あなたのセレクタにあなたはEMAILADDRESSを持っていることを見て

$(document).ready(function() { 
     alert($("#form1 #emailAddress").val()); 
    }); 

答えて

4

重複IDが無効である、と私は現在、過去、または将来のバージョンで動作するように任意の選択フィルタリングにカウントされないだろう

$(document).ready(function() {   
alert($("#form1>#email").val());  
}); 
+0

fiddled http://jsfiddle.net/62m3y/セレクタフィルタリングは過去と現在のバージョンのjqueryで動作しますが、ほとんどの場合、動作し続けます。デザインに変更を加えずにベストプラクティスではないかもしれませんが、動作します。 – Patrick

+0

@Patrick:アラートを試してください($( "#form2> #email")。これは失敗する – jgg

-2

...それはあなたに未定義を与えるために起こっています。

このコード

0
$(document).ready(function() { 
     alert($("#email","#form1").val()); 
}); 

テストのようなものを試してみてくださいjQueryのそれらの要素はIDを持たず、名前で選択する必要があります。

例えば:

$('#form1 [name=email]')
$('#form2 [name=email]')

+0

問題が何でありますか? –

関連する問題