Php Ajax表单提交&;Javascript确认错误

Php Ajax表单提交&;Javascript确认错误,php,javascript,jquery,Php,Javascript,Jquery,我有一个通过Ajax提交的表单,目前它运行得非常好。我试图添加一个确认选项,通过添加以下行来允许/阻止Ajax提交: var answer = confirm('Submit now?'); return answer // answer is a boolean if(answer) { ... } 下面是我的全部功能,如您所见,单击submit按钮即可启动。当用户在对话框中选择“确定”时,会发生此错误。整个页面被刷新,任何单个Ajax警告都会在空白屏幕的顶部返回。

我有一个通过Ajax提交的表单,目前它运行得非常好。我试图添加一个确认选项,通过添加以下行来允许/阻止Ajax提交:

    var answer = confirm('Submit now?');
    return answer // answer is a boolean

    if(answer) { ... }
下面是我的全部功能,如您所见,单击submit按钮即可启动。当用户在对话框中选择“确定”时,会发生此错误。整个页面被刷新,任何单个Ajax警告都会在空白屏幕的顶部返回。在正常情况下,如果没有此确认代码,错误消息将显示在表单底部的div#result标记中

$("#submitbtn").click(function() {

        var answer = confirm('Submit now?');
        return answer // answer is a boolean

        if(answer) { 

            $('#result').html('<img id="loading" src="images/loading.gif" />').fadeIn();
            var input_data = $('#create_po').serialize();
            $.ajax({
                type: "POST",
                url:  "<?php echo "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>",
                data: input_data,
                success: function(msg){
                    $('#loading').remove();
                    $('<div>').html(msg).appendTo('div#result').hide().fadeIn('slow');
                }
            });
            return false;

        }

    });
$(“#submitbtn”)。单击(函数(){
var answer=确认(“立即提交”);
返回答案//答案是布尔值
如果(回答){
$('#result').html(''.fadeIn();
var input_data=$('#create_po')。serialize();
$.ajax({
类型:“POST”,
url:“”,
数据:输入_数据,
成功:功能(msg){
$(“#加载”).remove();
$('').html(msg).appendTo('div#result').hide().fadeIn('slow');
}
});
返回false;
}
});

如何实现不刷新屏幕的确认对话框?如有任何建议,将不胜感激。谢谢

您正在执行
返回答案
。这在这里没有任何意义

它将停止JavaScript函数,并返回布尔值。去掉这条线,就可以了

此外,如果确认框为false,则添加此选项以使您的提交不会触发;)

请勿使用此选项:

<input type="submit">

使用以下命令:

<input type="button">


“提交”按钮会自动提交表单。常规按钮不起任何作用。您可以使用它来侦听单击,然后提交表单,也可以不提交。

如果您
返回答案
这一行后面的内容将不会执行。不返回答案。为什么不使用jQueryUI对话框来显示确认@蝎子王子会让他包含另一个完整的javascript库,但他没有。如果没有真正的理由,不包括;)确认框就可以了fine@Topener完全同意,只是确认提示(如javascript警报)会锁定浏览器,不允许用户移动到其他选项卡。它们通常会导致糟糕的用户体验。使用对话框,不一定是jqueryui,是一种更优雅的方式,IMHO。但是,如果只在一个页面中,可能最好使用确认提示。更不用说如果是这种情况,那么您可以覆盖
submit
功能。如果您使用JavaScript提交表单,则不应使用submit按钮;你应该用按钮。这是一种最佳做法。不,我的回答并没有解决他的问题,但你不应该无缘无故地启用一个按钮然后禁用它。我说的哪部分是不正确的?请解释或撤销否决票。提交按钮是提交表单的HTML表单元素。你是说这是不真实的吗?你是对的,先生。非常感谢。工作得很有魅力!
<input type="button">