私はJQueryが初めてで、これが不可能だとは信じられません...
動的に作成される複数の HTML フォームがあります。フォームからデータを取得するために JQuery を使用していますが、フォームを送信すると、最後のフォームのデータにしかアクセスできません。
これが私のコードです:
for($x=0; $x<10; $x++){
?>
<form method="POST" id="formid<? echo $x; ?>">
<textarea name="notes_text"><? echo $row[2]; ?></textarea></td>
<input type="hidden" value="<? echo $row[0]; ?>" name="notes_id" />
<input type="image" src="/images/edit-small.png" id="update-notes-submit" class="submit-img-sml"/>
</form>
<?
}
そしてjQuery:
$("form").submit(function(){
var form_id = $(this).closest("form").attr('id');
alert(form_id);
var notes_id=$('#formid1 input[name=notes_id]').val();
var notes_text=$('#formid1 textarea[name=notes_text]').val();
}
アラートは私に正しいフォームを与えてくれるので、うまくいきます。
notes_id または notes_text 変数を警告すると、「未定義」になります。
私が試してみました:
var notes_id=$('#formid1 input[name=notes_id]').val();
= undefined
var notes_id=$('#formid2 input[name=notes_id]').val();
= undefined
var notes_id=$('input[name=notes_id]').val();
= data from the last form that appears in my script
フォームと変数を指定するにはどうすればよいですか。これを実現するのが非常に難しいとは信じられません。おそらくこれは JQuery では不可能であり、そうであれば衝撃的な制限です。