【发布时间】:2014-07-28 13:32:53
【问题描述】:
我刚刚发现,当我为提交元素赋予 name="submit" 属性时,我的表单没有提交。当我将名称更改为其他名称时,它可以完美运行!
我正在使用 parsley.remote.min.js * 版本 2.0.3 - 于 2014 年 7 月 21 日星期一 11:58:33 构建
抱歉,我现在无法提供代码,我只是想把它扔掉。是不是我做错了什么?
【问题讨论】:
标签: javascript forms parsley.js
我刚刚发现,当我为提交元素赋予 name="submit" 属性时,我的表单没有提交。当我将名称更改为其他名称时,它可以完美运行!
我正在使用 parsley.remote.min.js * 版本 2.0.3 - 于 2014 年 7 月 21 日星期一 11:58:33 构建
抱歉,我现在无法提供代码,我只是想把它扔掉。是不是我做错了什么?
【问题讨论】:
标签: javascript forms parsley.js
当您将表单元素命名为“提交”时,您无意中用输入对象覆盖了表单的 submit 方法。例如,这样:
<form id="testForm">
<input type="text" name="testInput" />
</form>
您现在可以通过表单对象上的属性按名称访问输入元素:
var testInput = document.getElementById('testForm').testInput;
表单有一个submit() 方法,您可以通过编程方式调用(与单击按钮或“提交”类型的输入调用的方法相同):
document.getElementById('testForm').submit();
也许现在您可以通过将表单元素命名为“提交”来发现问题——因为submit() 不再存在,您正在取消表单的提交能力——它已被重新定义为返回引用的属性到您的提交按钮。
更多解释在这里:
【讨论】: