【发布时间】:2017-10-26 16:15:40
【问题描述】:
我正在努力解决 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());
当我尝试序列化数据并提醒它时,第一个提醒返回空白,第二个提醒显示第二个表单已序列化。
为什么没有找到第一个表单?
我将非常感谢任何帮助!
【问题讨论】:
-
这是给出您描述的结果的示例吗?因为您没有带有
name=3的表单,所以第一个警报应该可以工作,而第二个不应该 -
问题应该是警报 1 和警报 2 而不是 2 和 3。
-
如果我在 id 中的数字前添加一个字母,你认为它会起作用吗?
-
它就像你拥有它一样工作jsfiddle.net/f9pp06a3我将名称更改为1和2
-
很难说没有看到更多的 JS,但它也可能,看看这个 css-tricks.com/ids-cannot-start-with-a-number 在我说类和 IDS 但我错了,显然它只是 ID,但我从不这样做两者都有,只是为了保持一致
标签: javascript jquery forms