jQuery AJAX没有返回false

时间:2015-07-24 01:55:50

标签: javascript

如果员工ID存在,我希望下面的程序返回false。如果员工ID存在并且它返回到AJAX函数,我的PHP文件会回显true。

$.post("connect_ajax_php.php",
    {type: "checkId", val: val, field: "emp_id", table: "employee"})
    .done(function(data, succ){
        data = $.trim(data);
        if( succ =="success" && data=="true" ){
            $( errContId ).html( val+" already exist" );
            $( id ).css( {"border":"1px solid red"} );
            $('#'+sucImg).html("<img src='images/background/error.png'>");
            return false;
        }else{
            $( errContId ).html("");
            $( id ).css( {"border":"1px solid #ccc"} );
            $('#'+sucImg).html("<img src='images/background/success.png'>");
        }
    });

1 个答案:

答案 0 :(得分:0)

如果您使用ajax调用作为验证步骤,您将在ajax回调中手动提交表单。然后将return false移动到单击处理程序,而不是从ajax响应处理程序调用它。

<form id="myform" action="/url" method="post">
    ...
    <button id="submitbtn" type="submit">Submit</button>
</form>

$("#submitbtn").on("click", function(event) {
    $.ajax({
        url: "connect_ajax_php.php",
        method: "post",
        data: {type: "checkId", val: val, field: "emp_id", table: "employee"}
    })
    .done(function(result) {
        if (result == "true") {
            // id exists
        }
        else {
            $("#myform").submit();
        }
    });

    return false;  // prevent standard form submission
});