如何使用 Jquery 选择多个表单及其子表单并提醒它们的值?

发布于 2024-10-15 17:31:27 字数 797 浏览 3 评论 0原文

这就是我已经取得的进展:

  $('form').each(function() {
    $(this).submit(function() {
      event.preventDefault()
      $(this).children('input.required').each(function() {
        alert($(this).val())
      })
    })
  })

event.preventDefault() 正在工作,因为表单未提交。但之后就不会做任何事情了。 尝试了这个

alert($(this).attr('id'))

我在下面

$(this).submit(function() {

,它也有效,当我单击“提交”时,它会提醒正确的表单 ID。但由于某种原因,我无法让孩子们工作。经过一番阅读后,我也尝试过

 $('form').each(function(index,element) {
    $(element).submit(function() {
      event.preventDefault()
      $(element).children('.required').each(function(ind,ele) {
        alert($(ele).val())
      })
    })
  })

,但也没有成功。

我需要选择具有“必需”类的特定输入来检查它们的值。谢谢。

This is how far I've gotten:

  $('form').each(function() {
    $(this).submit(function() {
      event.preventDefault()
      $(this).children('input.required').each(function() {
        alert($(this).val())
      })
    })
  })

The event.preventDefault() is working because the form doesn't submit. But after that it won't do anything. I tried this

alert($(this).attr('id'))

right under

$(this).submit(function() {

and it worked too, it alerted the correct form id when I clicked submit. But for some reason I just can't get the children to work. After some reading I also tried

 $('form').each(function(index,element) {
    $(element).submit(function() {
      event.preventDefault()
      $(element).children('.required').each(function(ind,ele) {
        alert($(ele).val())
      })
    })
  })

but that didn't work either.

I need to select specific inputs with the "required" class to check their value. Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

零崎曲识 2024-10-22 17:31:27

我敢打赌,您的 input 元素不是 form 的子节点,而是后代节点。也就是说,在forminput之间,树中还有其他节点,可能是table或者p > 元素。

您应该使用 find 来代替:

$(element).find('.required').each(function() {
    alert($(this).val());
});

这会查找与选择器匹配的所有后代节点,而不仅仅是直接子节点。

My bet is that your input elements are not child nodes of the form but descendant nodes. That is to say, there are other nodes in the tree between the form and the input, perhaps table or p elements.

You should use find instead:

$(element).find('.required').each(function() {
    alert($(this).val());
});

This finds all descendant nodes matching a selector, not just direct children.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文