gpt4 book ai didi

javascript - JQuery:如何在发送表单之前执行代码

转载 作者:行者123 更新时间:2023-12-02 14:57:34 26 4
gpt4 key购买 nike

我制作了一个表单并将其属性设置为 onsubmit="return false"

现在我需要在实际提交之前执行一些操作,如下所示:

$('input[name=submit]').click(function(){
$('.switch-input').attr('checked','checked');//getting all values of chbz
//here goes a little more code//
$('form[name=setform]').removeAttr('onsubmit');//finally sending to $_POST
});

乍一看一切正常,但我想知道它会在发送之前 100% 执行所有代码还是我做错了?

最佳答案

onsubmit="return false" 属性将阻止表单按正常方式提交。但是,当用户单击“提交”输入时,上面的代码片段将执行一次,删除 onsubmit 属性并使表单能够正常提交,但用户必须再次单击“提交”才能提交。 .

您可以保留现有代码片段,并通过 .submit() 的第三个变体告诉 jQuery 显式提交表单。方法:

$('input[name=submit]').click(function(){
$('.switch-input').attr('checked','checked');//getting all values of chbz
//here goes a little more code//
$('form[name=setform]').removeAttr('onsubmit');//make the form submittable
$('form[name=setform]').submit();//finally sending to $_POST
});

或者,您可以删除 onsubmit="return false" 属性,并使用该方法的 .submit(handler) 变体,这可以简化您的代码并保证处理程序将在提交表单之前执行:

$('form[name=setform]').submit(function(){
$('.switch-input').attr('checked','checked');//getting all values of chbz
//here goes a little more code//
});

关于javascript - JQuery:如何在发送表单之前执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35677859/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com