【问题标题】:How to find out what submit handler an HTML FORM has?如何找出 HTML FORM 有什么提交处理程序?
【发布时间】:2013-07-22 19:35:53
【问题描述】:

我正在使用 Chrome,按 Enter 会自动提交表单。

我在不同的页面上有两个表单,但都没有提交输入/按钮。两种形式都有相似的(文本)输入。

FORM 1 在按下回车键时会自动提交其数据。另一方面,FORM 2 没有。我必须找出为什么会发生这种情况。有没有办法找出这两个表单附加了哪些提交处理程序?

myForm.get(0).onsubmit(使用 jQuery)在这两种情况下都返回 null

或者是否有其他方法可以调试此问题? (Chrome DevTools 等)

【问题讨论】:

  • 视觉事件可能会有所帮助。 (这是一个书签,只需用谷歌搜索即可。)
  • FORM 1 中有
  • 所有表单都没有提交输入/按钮。甚至没有按钮(没有提交)。
  • 发布表单的 HTML 怎么样?或者更好的是证明问题的小提琴?
  • @KevinB Visual Event Chrome 扩展看起来很棒,并且在其他网站(如 SO)上也很好用。它没有显示我的任何东西。 +1,因为它是一个“值得了解”的工具。

标签: javascript jquery html forms


【解决方案1】:

当你按下回车键时,它总是默认为第一个表单。

如果您想从脚本提交第二个表单,那么您需要:

document.forms[1].submit();

【讨论】:

【解决方案2】:

我对该问题进行了更多研究,问题在于只有一个文本输入的表单。

FORM 1 只有一个文本输入。 FORM 2 有 2 个文本输入。因此,在 Chrome 中,FORM 1 将在Enter 上提交。我已经问过这个question here

所以在我的例子中,它不是向表单添加提交处理程序的脚本,而只是浏览器特定的表单实现。例如,IE 的行为就不是这样。

PS:@KevinB 为什么 Visual Effects 没有显示任何处理程序也是有道理的。因为表格上没有。

【讨论】:

    猜你喜欢
    • 2017-10-13
    • 1970-01-01
    • 1970-01-01
    • 2013-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多