Jquery 多种表单

标签 jquery forms

我是 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/

相关文章:

javascript - 在 chrome 扩展弹出窗口中使用 jquery

jquery - 将 JQuery 内容放入 .html.erb 文件 Rails 中是一个好习惯吗?

jquery - Twitter Bootstrap 模态表单提交

javascript - 验证插件同时处理两个表单,错误

php - Laravel 表单标签中的内联 "required"星号

forms - 交响乐 3 | CollectionType 实体的自定义约束

php - 如何提交 PHP 表单而不重定向到操作文件? (使用ajax发送和获取数据)

javascript - AJAX 响应在 [object Object] 中,jquery - 因此无法读取它

javascript - 动态添加 div 会导致奇怪的样式共享

html - 哪些元素支持::before 和::after 伪元素?