Javascript找不到第一个表单

时间:2017-05-25 21:37:12

标签: 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_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());

当我尝试序列化数据并提醒它时,第一个警报返回空白,第二个警告显示第二个表单序列化。

为什么找不到第一张表格?

我非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

根据您发布的代码(除非您的帖子中有错误),您实际上是从第一次通话而非第二次通话中获得序列化提醒。警报中的选择器是错误的

alert($('form[name="2"]').serialize());
alert($('form[name="3"]').serialize());

因此,您在表单的名称参数中放置的值然后在警报的选择器中的值不匹配。他们应该是:

alert($('form[name="1"]').serialize());
alert($('form[name="2"]').serialize());