javascript - 遍历所有表单字段

标签 javascript jquery forms

我有以下代码,我可以在其中循环遍历我的所有表单字段,但只为第一个表单字段保存值,因此控制台仅显示第一个表单字段值的 7 次迭代。在另一个hand 我希望所有表单字段都一一出现,以便我可以验证它们。提前致谢。

$('formsection[name="AUDIT REPORT"]').find('input,select').each(function() {
  hi = [];
  hi = $('formsection[name="AUDIT REPORT"]').find('input,select').val();
  console.log(hi);

});

最佳答案

首先请注意,选择器中的 formsection 之间应该有一个空格,因为 formsection 不是有效的 HTML 元素。

问题本身是由于在 each() 处理函数中使用了相同的选择器。由于生成的 jQuery 对象包含元素集合,因此调用 val() 将仅从集合的第一个元素读取。它不会像您预期的那样返回数组。

要解决此问题,请使用 this 关键字来引用迭代中的当前元素:

$('form section[name="AUDIT REPORT"]').find('input,select').each(function() {
  var hi = $(this).val();
  console.log(hi);
});

另请注意,:input 选择器也可以在不使用 find() 的情况下满足您的需求:

$('form section[name="AUDIT REPORT"] :input').each(function() {
  var hi = $(this).val();
  console.log(hi);
});

关于javascript - 遍历所有表单字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43536890/

相关文章:

javascript - AngularJS 表单提交不起作用

javascript - 更改标签在 DOM 中的位置

javascript - 如何将点击事件与 jQuery 自动完成绑定(bind)?

javascript - 当我克隆输入时 onblur 不起作用

php - 如何在刷新页面时停止重新提交页面?

php - $_FILES 仅包含最后一个输入

Javascript 对象返回垃圾值

javascript - CSS3 转换不起作用

javascript - 当值发生变化时,无需单击按钮,自动获取servlet中的textarea值

Javascript/Jquery 函数根据子元素内容禁用表格行