0

次の動的に生成されたHTMLがあります

<div id="1">
<form name = "inpForm">
<input name="FirstName" type="text"/>
<input type="submit" value="Submit"/>
</form>
</div>

<div id="2">
<form name = "inpForm">
<input name="FirstName" type="text"/>
<input type="submit" value="Submit"/>
</form>
</div>

外側の div の ID は異なりますが、フォーム名は同じです。フォームの送信時にJqueryを使用して検証を実行しています。ただし、2 番目のフォームが送信されると、常に最初のフォームの値が取得されます。

$(document).ready(function () {
    $('form[name="inpForm"]').live('submit', function () {
        alert($('input[name="FirstName"]').val());
        return false;
    });
});

送信がトリガーされた現在のフォームに一致する「FirstName」要素を見つけるために myJquery を変更するにはどうすればよいですか? ありがとう

4

2 に答える 2

7

コンテキストを追加します。

alert($(this).find('input[name="FirstName"]').val());
于 2012-07-25T17:59:48.507 に答える
1

this(フォーム要素) を context-argument として使用します。

alert($('input[name="FirstName"]',this).val());
于 2012-07-25T18:00:42.923 に答える