【发布时间】:2014-11-04 23:23:05
【问题描述】:
我在表单中的提交按钮上有一个 .click() 函数:
$("#submitId").click(function () {
$('#hiddenInput').val(someVariable);
});
它就像一个魅力。单击提交按钮时,click() 函数填充隐藏的输入变量,然后提交整个表单。然后,服务器接收到带有刷新内容的隐藏输入。
我的问题是:它会一直有效吗?是否有任何危险,由于某种我还不知道的原因,提交操作首先执行,而 click() 函数稍后执行?我想确保隐藏的输入总是被刷新。
【问题讨论】:
-
$("form").submit();将绕过它,用户可以从他们的控制台或 url 执行调用。
-
而且我认为它也可能在按 ENTER 提交表单时被绕过?试一试。
-
@JamesBlond - Enter 仍将导致点击处理程序执行。
-
点击事件总是先完全执行。否则,您将如何通过防止默认来停止提交。 For Reference
-
@TravisJ - 如果焦点在按钮上,
enter将导致点击处理程序执行。但是如果焦点在表单字段之一上,enter将绕过单击处理程序,因为没有与按钮交互(仅与表单交互)。我想。
标签: javascript jquery forms click submit