Ajax表格提交& Javascript确认错误

时间:2012-03-08 22:06:03

标签: php javascript jquery

我有一个通过Ajax提交的表单,目前完美运行。我尝试添加一个确认选项,通过添加以下行来允许/阻止Ajax提交:

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

    if(answer) { ... }

以下是我的全部功能,如您所见,单击提交按钮时会触发。当用户在对话框中选择“正常”时,会发生错误。刷新整个页面,并在空白屏幕顶部返回任何单个Ajax警告。在正常情况下,如果没有此确认代码,错误消息将显示在表单底部的div#results标记中。

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

        }

    });

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

2 个答案:

答案 0 :(得分:2)

你在做return answer。这里没有任何意义。

它将停止JavaScript函数,并返回布尔值。删除此行,然后设置

另外,如果确认框为false,则添加此项以使提交无法激活;)

if (answer){
    // your ajax call
}
else {
    return false;
}

答案 1 :(得分:0)

不要使用它:

<input type="submit">

使用此:

<input type="button">

提交按钮会自动提交表单。常规按钮什么都不做。您可以使用它来收听点击,然后提交您的表单。