【问题标题】:parsley form not submitting when submit button has name="submit"提交按钮名称=“提交”时,欧芹表单未提交
【发布时间】: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


【解决方案1】:

当您将表单元素命名为“提交”时,您无意中用输入对象覆盖了表单的 submit 方法。例如,这样:

<form id="testForm">
    <input type="text" name="testInput" />
</form>

您现在可以通过表单对象上的属性按名称访问输入元素:

var testInput = document.getElementById('testForm').testInput;

表单有一个submit() 方法,您可以通过编程方式调用(与单击按钮或“提交”类型的输入调用的方法相同):

document.getElementById('testForm').submit();

也许现在您可以通过将表单元素命名为“提交”来发现问题——因为submit() 不再存在,您正在取消表单的提交能力——它已被重新定义为返回引用的属性到您的提交按钮。

更多解释在这里:

【讨论】:

  • 谢谢你的回答,我认为欧芹是问题所在!有趣的是,在我 8 年的网络编程生涯中,我从未遇到过这种情况 :)
  • 我认为作为程序员的我们倾向于回避使用保留关键字命名事物,这对你以前没有遇到过这种情况真好。诚然,在今天之前我还没有想过这在 DOM 中的含义,但它确实很有意义!
猜你喜欢
  • 2015-05-07
  • 1970-01-01
  • 2014-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-03
  • 2012-10-02
  • 1970-01-01
相关资源
最近更新 更多