【问题标题】:after Ajax function javascript does not work在 Ajax 函数 javascript 不起作用之后
【发布时间】:2014-12-04 20:34:09
【问题描述】:

我有一个 javascript 验证,它检查输入值是否为空。现在我想添加一个验证,即特殊输入不会重复。我为它写了一个php函数和ajax。 Ajax 工作正常,这意味着当我输入一个值时,数据库中已经存在,它会提示“此否已存在”。但是在那个函数调用之后,javascript 就没有工作了。

代码如下:

function checkValue(valdata){
                    $.ajax({             
                        type: "POST",
                        url:"success.php",
                        cache: false,
                        contentType: false,
                        processData: false,
                        data: valdata,
                        success: function (data) {
                          if(data == 1){
                            alert ("This No  already exists. ");                             
                            return false;
                          }
                        }   
                    });         
                    return true;
                }


                if(document.getElementById("selectErrorcat").value=="selectcategory")
                {
                    alert ("Please select Category");
                }
                else if(document.getElementById("No").value ==="")
                {
                    alert ("Please enter MLS No field");
                }

                else if(document.getElementById("mlsNo").value !=="" ){

                    checkValue(formdata);
                }


                else if(document.getElementById("title_en").value ==="")
                {
                    alert ("Please enter Property Title EN field");
                }

checkValue(formdata); 之后,javascript 不起作用。有什么问题?

【问题讨论】:

  • checkValue(formdata); 之后的else if 不会被执行,因为围绕checkValue 调用的else if 已被执行。
  • 已经选择了一种括号样式。比起埃及语,我更喜欢普通风格(新行上的左括号),但至少要保持一致。
  • 而且最好不要在相互连接的else ifs之间放一堆空行。乍一看,它们给人一种错觉,即它们是独立的ifs,而实际上它们并非如此。
  • @JonathanM 是的,但是在 js 的其余部分将执行之后怎么做?
  • 您是否在调用函数checkValue(),然后期望以if(document.getElementById("selecteErrorcat")... 开头的代码也被执行?如果是这样,则不会,因为该代码不包含在 checkValue() 函数中。

标签: javascript php jquery ajax


【解决方案1】:

添加错误处理程序:

success: function (data) {
    if(data == 1){
        alert ("This No  already exists. ");                             
        return false;
    }
},
error : function (jqXHR, textStatus, errorThrown) {
    alert(errorThrown);
}

【讨论】:

    猜你喜欢
    • 2019-12-02
    • 1970-01-01
    • 2014-12-17
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    • 2020-05-23
    • 2014-01-24
    • 1970-01-01
    相关资源
    最近更新 更多