簡體   English   中英

從if塊成功調用函數

[英]Calling a function from if block in success

各位程序員大家好。 我是jquery ajax的新手。 我如何從if塊調用函數checkreturn()或是否可以在成功之外訪問msg(如果是),那么請告訴我。 我需要它,因為只有在條件成立的情況下,我才必須啟用后續的文本框。 這是我的代碼。謝謝您的時間和答復。Rajesh。

<script type="text/javascript" >    

        function checkreturn()        {   

            document.getElementById("txtAns").removeAtrribute("disabled");                     
        }
        function cQtn(e){             
        var uname= $("#<%=Username.ClientID%>").val();
        var sq=$("#<%=SecQuest.ClientID%>");
        var sqtn = $("#<%=SecQuest.ClientID%> option:selected").text();
        var sans=$("#txtAns");      
        var msgbox = $("#Dstatus");
          $.ajax({
                    type: "POST",                    
                    url: "forgotpassword.aspx/CheckValidSQtn",
                    data: "{'uname':'"+uname+"','args':'"+sqtn+"'}", 
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(msg) {                                                                                                             
                         if (msg.d == 'Available') {                            
                            sq.removeClass("notavailablecss");
                            sq.addClass("availablecss");
                            msgbox.html('<img src="proj_mages/a.png"> <font color="Green"> Valid </font>');
                            //how do i call from here??                                                                                                              
                           }
                        else {                            
                            sq.removeClass("availablecss");
                            sq.addClass("notavailablecss");
                            msgbox.html(msg.d);                           
                        }                        
                    }                                                 
                });                                     
      }     

    </script>

您的checkreturn函數中有一個錯字。 您要使用removeAttribute ,而不是removeAtrribute (double t ,而不是double r )。

另外,您可以使用jQuery函數:

function checkreturn(){   
    $('#txtAns').prop('disabled',false);                
}

,而不是本機DOM函數( document.getElementByIdsetAttribute ):

不知道為什么正常方式不起作用,但是您可以嘗試強制瀏覽器執行該操作,

function checkreturn(){   
     document.getElementById("txtAns").removeAtrribute("disabled");                     
}

成為

window.checkreturn = function(){   
     document.getElementById("txtAns").removeAtrribute("disabled");                     
}

然后嘗試通過window.checkreturn();調用 checkreturn(); 您還可以嘗試以另一種方式嘗試此操作,以便離開函數並嘗試調用window.checkreturn();

如果這些都不起作用,則說明您的函數未進入頁面的window(Global)范圍,請使用Firebug或Inspector並嘗試所有checkreturn(); 看你得到什么異常,

如果發現未找到,則未在代碼中向我們顯示某些內容,例如關閉或某些內容

我將進一步研究它,但嘗試將ajax調用的async設置為false

function checkreturn() {

    document.getElementById("txtAns").removeAtrribute("disabled");

}

function cQtn(e) {

    var uname= $("#<%=Username.ClientID%>").val(),
        sq=$("#<%=SecQuest.ClientID%>"),
        sqtn = $("#<%=SecQuest.ClientID%> option:selected").text(),
        sans=$("#txtAns"),
        msgbox = $("#Dstatus");

    $.ajax( {
        async: false,
        type: "POST",
        url: "forgotpassword.aspx/CheckValidSQtn",
        data: "{'uname':'"+uname+"','args':'"+sqtn+"'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            if (msg.d == 'Available') {
                sq.removeClass("notavailablecss");
                sq.addClass("availablecss");
                msgbox.html('<img src="proj_mages/a.png"> <font color="Green"> Valid </font>');
                //how do i call from here??
            } else {
                sq.removeClass("availablecss");
                sq.addClass("notavailablecss");
                msgbox.html(msg.d);
            }
        }
    } );

}

現在,當進行ajax調用時,腳本的其余部分將等待直到完成為止,而不是等到asynctrue時一切如何繼續。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM