簡體   English   中英

在jQuery.ajax $請求之前檢查值

[英]Check for values before jQuery.ajax$ request

我執行的腳本運行良好,並且按預期返回服務器端錯誤。

我想學習如何使用jquery在腳本運行。$ ajax請求之前檢查要傳遞的值(用戶ID,密碼)是否為空,並且只有在兩個值都填寫的情況下才能到達該部分。

這是jQuery

    var userid = $(".YourOrder_MainLoginEmail").val();
    var password = $(".YourOrder_MainLoginPassword").val();
    var url = "/ShoppingCart/ShoppingCartLogin";

    $.ajax({
        url: url,
        type: "POST",
        dataType: "json",
        data: { userId: userid, pass: password },//{ userId: userid, pass: password },
        cache: false,
        success: function (result) {
            if (result.success == "Valid") {
                // hide the login form and clear and hide error
                $('.YourOrder_loginError').text('');
                $('.YourOrder_loginError').css('visibility', 'hidden');
                $('.YourOrder_loginForm').css('visibility', 'hidden');
                // show the shipping address section
                $('.YourOrder_ShipAddress').css('visibility', 'visible');
                location.reload();
            }
            if (result.error == "Invalid") {
                // hide shipping address section
                $('.YourOrder_ShipAddress').css('visibility', 'hidden');
                $('.YourOrder_loginError').css('visibility', 'visible');
                $('.YourOrder_loginError').text('The user name or password provided is incorrect.');

            }
        }
    });

非常感謝您的幫助。 -itortu。

編輯

我可以得到幫助,使支票變得更好嗎?

這是正在發生的事情:

1-是的電子郵件,沒有密碼:密碼消息錯誤,輸入密碼,沒有電子郵件:輸入電子郵件錯誤,但是即使密碼值仍然存在,密碼錯誤仍然存​​在,因此最后都顯示了這兩個消息。

2-是,密碼,不輸入電子郵件:電子郵件錯誤輸入電子郵件,不輸入密碼:輸入密碼錯誤,但是即使其中包含電子郵件值,電子郵件錯誤仍然存​​在,因此最后都顯示了這兩個消息。

如何更改為僅顯示/隱藏相關消息,並避免在填充第一個錯誤消息的值之后都顯示它們?

jQuery查詢

    if (userid == "") {
        $('.YourOrder_loginError').css('visibility', 'visible');
        $('.YourOrder_loginError').text('Enter your e-mail address.');
        return false
    } 

    if (password == "") {
        $('.YourOrder_loginError_password').css('visibility', 'visible');
        $('.YourOrder_loginError_password').text('Enter your password.');
        return false
    } 

非常感謝您的幫助。

恩,只是檢查一下?

if (userid == "" || password == "") { return false }

//AJAX and so on.. script will jump out if either userid or password is empty
var userid = $(".YourOrder_MainLoginEmail").val();
var password = $(".YourOrder_MainLoginPassword").val();
var url = "/ShoppingCart/ShoppingCartLogin";

if(userid=='' || password=='' ){
    alert("Fill in complete details");
}
else {
    $.ajax({
    url: url,
    type: "POST",
    dataType: "json",
    data: { userId: userid, pass: password },//{ userId: userid, pass: password },
    cache: false,
    success: function (result) {
        if (result.success == "Valid") {
            // hide the login form and clear and hide error
            $('.YourOrder_loginError').text('');
            $('.YourOrder_loginError').css('visibility', 'hidden');
            $('.YourOrder_loginForm').css('visibility', 'hidden');
            // show the shipping address section
            $('.YourOrder_ShipAddress').css('visibility', 'visible');
            location.reload();
        }
        if (result.error == "Invalid") {
            // hide shipping address section
            $('.YourOrder_ShipAddress').css('visibility', 'hidden');
            $('.YourOrder_loginError').css('visibility', 'visible');
            $('.YourOrder_loginError').text('The user name or password provided is incorrect.');

        }
     }
  });
}

暫無
暫無

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

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