Javascript找不到第一种形式



我正在努力解决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());

当我尝试序列化数据并发出警报时,第一个警报返回空白,第二个警报显示序列化的第二个表单。

为什么找不到第一种形式?

我将非常感谢任何帮助!

从您发布的代码中(除非这是您帖子中的错误(,您实际上从第一次调用而不是第二次调用中收到序列化警报。警报中的选择器错误

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

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

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

相关内容