我是 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 来说是不可能的,如果是这样的话,这将是一个令人震惊的限制。
最佳答案
您假设表单 ID 是 formid1
但我有一种感觉,这不是正在提交的表单 ID。请尝试以下操作:
$("form").submit(function(){
var form =$(this);//this refers to the form
var notes_id=form.find('input[name=notes_id]').val();
var notes_text=form.find('textarea[name=notes_text]').val();
}
关于Jquery 多种表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14783958/