jquery click() 提交按钮

问题描述 投票:0回答:5

我在表单中的提交按钮上有一个 .click() 函数:

$("#submitId").click(function () {
    $('#hiddenInput').val(someVariable);
});

它就像一个魅力。单击提交按钮时,click() 函数会填充隐藏的输入变量,然后提交整个表单。然后,服务器接收带有刷新内容的隐藏输入。

我的问题是:它总是有效吗?由于某种我还不知道的原因,是否存在先执行提交操作然后再执行 click() 函数的危险?我想确保隐藏的输入始终得到刷新。

javascript jquery forms click submit
5个回答
26
投票

使用表单时,始终建议让

submit
按钮完成其工作:触发表单的提交事件...这就是它的用途。然后,您将侦听
submit
上的
form
事件,而不是
click
按钮上的
submit
事件。

您可以使用

event.preventDefault()
来防止默认提交表单,以便您可以做一些 housekeeping 然后您可以提交表单。

$("#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
});

4
投票

最好将值更新直接附加到表单的提交处理程序,如下所示

$("#submitId").closest("form").submit(function () {
 $('#hiddenInput').val(someVariable);
});

1
投票

我个人认为,阻止提交,然后设置所需输入的值,然后以编程方式提交表单会更安全。喜欢:

$("form").submit(function (e) {
    e.preventDefault();
    $('#hiddenInput').val(someVariable);
    $(this).submit();
});

0
投票

先生仅使用数据nhi ho paa Raha h kyu ki uski速度仅2g ki aati他请先生Mera网络问题和数据se相关的jitni bhi问题请在sab cheezon ko thik kiya jai jald se jald


-1
投票

.click() 应始终首先运行。

© www.soinside.com 2019 - 2024. All rights reserved.