我正在努力解决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());
当我尝试序列化数据并提醒它时,第一个警报返回空白,第二个警告显示第二个表单序列化。
为什么找不到第一张表格?
我非常感谢任何帮助!
答案 0 :(得分:1)
根据您发布的代码(除非您的帖子中有错误),您实际上是从第一次通话而非第二次通话中获得序列化提醒。警报中的选择器是错误的
alert($('form[name="2"]').serialize());
alert($('form[name="3"]').serialize());
因此,您在表单的名称参数中放置的值然后在警报的选择器中的值不匹配。他们应该是:
alert($('form[name="1"]').serialize());
alert($('form[name="2"]').serialize());