Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(“提交”上的JavaScript/jQuery回调_Javascript_Jquery_Callback_Submit_Alert - Fatal编程技术网

(“提交”上的JavaScript/jQuery回调

(“提交”上的JavaScript/jQuery回调,javascript,jquery,callback,submit,alert,Javascript,Jquery,Callback,Submit,Alert,有人能告诉我为什么这个脚本不起作用吗 我希望在“表单已提交”之前出现“我刚刚提交表单”的警报。因此我使用了回调,但它仍然跳过了提交 function formSubmit(callback) { $("form").on("submit", function(e){ e.preventDefault(); alert("I just submitted the form."); }); callback(); } formSubmit(

有人能告诉我为什么这个脚本不起作用吗

我希望在“表单已提交”之前出现“我刚刚提交表单”的警报。因此我使用了回调,但它仍然跳过了提交

function formSubmit(callback) {
    $("form").on("submit", function(e){
        e.preventDefault();
        alert("I just submitted the form.");
    });
    callback();
}

formSubmit( function() {
    alert("The form submitted.");
});
HTML


您必须在jQuery事件处理程序函数中运行
回调
函数(上
的第二个参数)。否则,
回调
将立即在
表单提交
中执行,但
警报(“我刚刚提交了表单”);
仅在提交事件发生时执行

函数formSubmit(回调){
$(“表格”)。关于(“提交”,职能部门(e){
e、 预防默认值();
警惕(“我刚刚提交了表格。”);
回调();
});
}
formSubmit(函数(){
警告(“提交的表格”);
});

您需要在警报之后调用回调,而不是在绑定
提交处理程序之后

function formSubmit(callback) {
    $("form").on("submit", function(e){
        e.preventDefault();
        alert("I just submitted the form.");
        callback();
    });   
}

非常感谢。我刚弄明白。谢谢你的详细解释。我今天早上才明白过来,感觉自己像个傻瓜。@user37172很高兴我能帮上忙。如果你觉得答案有用,别忘了接受。
function formSubmit(callback) {
    $("form").on("submit", function(e){
        e.preventDefault();
        alert("I just submitted the form.");
        callback();
    });   
}