javascript - 一页上有2个相似的表单,$(this).find();正在从最后一个表单中获取值(value)

标签 javascript jquery forms

我在一页上有 2 个表格。我试图使用 jQuery 从第一个表单中获取名称字段的值,但 jQuery 始终从第二个表单中获取名称值。代码如下所示:

$('#registration-form').each(function(){
    var $this = $(this);    
    $this.submit(function (event) {
        var firstName = $(this).find('input[name="firstName"]').val();
        console.log(firstName);
    });
});

为什么这段代码不起作用?非常感谢您的帮助!

最佳答案

首先,您通过 id 属性进行选择,因此不能有多个元素具有相同的 id。这就是为什么只找到一个。在这种情况下,each() 也是多余的。

如果您想对元素进行分组,请使用 class ,但请注意 each() 仍然是多余的,因为 jQuery 会在内部循环遍历每个选定的元素,因此您可以只需直接附加 submit 事件处理程序,如下所示:

$('.reg-form').submit(function (e) {
    var firstName = $(this).find('input[name="firstName"]').val();
    console.log(firstName);
});

关于javascript - 一页上有2个相似的表单,$(this).find();正在从最后一个表单中获取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41096569/

相关文章:

javascript - 如何使用一个标签选择多个具有不同名称的单选按钮?

angular - 指示正在进行异步验证的类

javascript - 通过表单保存模型后重新渲染 Rails 部分

javascript - 时事通讯弹出窗口中的 Cookie 重置时间

javascript - 如何编写一个函数,通过数组从多个对象创建一个对象

javascript - 无法将事件绑定(bind)到多个 <select>,只能绑定(bind)第一个子元素

javascript - 复制 f5 功能以链接

javascript - js如何删除数组中具有共同值的对象?

javascript - 在 ZXing 库中查找坐标并在 Canvas 上输出

javascript - jquery post表单具有多个同名字段