Javascript找不到第一个表单
我正在努力解决javascript/jquery问题。我在foreach循环中创建了多个表单,在foreach循环中创建了多个javascript函数 基本上,第一种形式如下所示:Javascript找不到第一个表单,javascript,jquery,forms,Javascript,Jquery,Forms,我正在努力解决javascript/jquery问题。我在foreach循环中创建了多个表单,在foreach循环中创建了多个javascript函数 基本上,第一种形式如下所示: <form role="form" action="/save/parishioner" id="1" name="1" method="post"> <input type="text" class="form-control" name="acct_number" id="acct_numbe
<form role="form" action="/save/parishioner" id="1" name="1" method="post">
<input type="text" class="form-control" name="acct_number" id="acct_number" value="test" onchange="save1()" />
<input type="text" class="form-control" name="first_name" id="first_name" value="name" onchange="save1()"/>
</form>
<form role="form" action="/save/parishioner" id="2" name="2" method="post">
<input type="text" class="form-control" name="acct_number" id="acct_number" value="test" onchange="save2()" />
<input type="text" class="form-control" name="first_name" id="first_name" value="name" onchange="save2()"/>
</form>
当我尝试序列化数据并向其发出警报时,第一个警报返回空白,第二个警报显示序列化的第二个表单
为什么找不到第一种形式
我将非常感谢任何帮助 从您发布的代码中(除非这是您发布的错误),您实际上从第一次调用而不是第二次调用中收到了序列化警报。警报中的选择器错误
alert($('form[name="2"]').serialize());
alert($('form[name="3"]').serialize());
因此,您在表单的name param中以及在警报的选择器中放置的值不匹配。它们应该是:
alert($('form[name="1"]').serialize());
alert($('form[name="2"]').serialize());
这就是你描述的结果的例子吗?因为你没有一个带有
name=3
的表单,所以第一个警报应该有效,第二个不应该。问题应该是警报1和警报2,而不是警报2和3。你认为如果我在id中的数字之前添加一个字母会有效吗?它的工作原理与你的一样,我将名称更改为1和2,很难说没有看到更多的JS,但它也可能,在我说类和ID之前检查一下,但我错了,显然这只是ID,但我从来没有用它们做过,只是为了一致性
alert($('form[name="1"]').serialize());
alert($('form[name="2"]').serialize());