[英]jquery click() in submit button
我在表单中的提交按钮上有一个 .click() 函数:
$("#submitId").click(function () {
$('#hiddenInput').val(someVariable);
});
它就像一个魅力。 单击提交按钮时,click() 函数会填充隐藏的输入变量,然后提交整个表单。 服务器然后接收带有刷新内容的隐藏输入。
我的问题是:它会一直有效吗? 由于某种我还不知道的原因,是否有任何危险,提交操作先执行,然后单击()函数? 我想确保隐藏的输入总是被刷新。
在处理表单时,始终建议让submit
按钮完成它的工作:触发表单的提交事件……这就是它的意义所在。 然后你会监听form
上的submit
事件而不是submit
按钮上的click
事件。
您可以使用event.preventDefault()
来防止表单的默认提交,以便您可以做一些内务工作,然后您可以提交表单。
$("#submitId").closest('form').on('submit', function(event) {
event.preventDefault();
$('#hiddenInput').val(someVariable); //perform some operations
this.submit(); //now submit the form
});
或者简单地说,
$('form').on('submit', function(event) {
event.preventDefault();
$('#hiddenInput').val(someVariable); //perform some operations
this.submit(); //now submit the form
});
最好像这样将值更新直接附加到表单的提交处理程序
$("#submitId").closest("form").submit(function () {
$('#hiddenInput').val(someVariable);
});
我个人认为防止提交更安全,然后设置所需的输入值,然后才以编程方式提交表单。 喜欢:
$("form").submit(function (e) {
e.preventDefault();
$('#hiddenInput').val(someVariable);
$(this).submit();
});
.click() 应始终首先运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.