0
我有兩個輸入字段,用戶名和密碼。我對每個空值執行基本檢查,如果其中任何一個爲空,則返回值爲false,因此$ ajax請求不會被執行。這樣可行。顯示使用jQuery驗證輸入字段時的相關消息
我想請求幫助,以增強對空值的檢查,並返回false。
如果輸入電子郵件,但沒有密碼,那麼我得到密碼錯誤消息,並返回false,但如果然後我輸入密碼,沒有電子郵件,我然後得到輸入電子郵件錯誤,但密碼錯誤留在即使先前輸入的值未被刪除。這最終導致兩個消息都出現在頁面上,這是誤導性的。
在密碼,相同步驟的情況下也會發生同樣的情況。
在執行.ajax請求之前,確保輸入值並正確顯示相關消息對我的任務非常重要。
下面是我的腳本的副本。
我希望有人有時間給我一些幫助。
非常感謝。
<script type="text/javascript">
function ShoppingCartLogin() {
var userid = $(".YourOrder_MainLoginEmail").val();
var password = $(".YourOrder_MainLoginPassword").val();
var url = "/ShoppingCart/ShoppingCartLogin";
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
}
$.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.');
}
}
});
}
正確的做法是''。這可以讓瀏覽器在本地處理它,這總是很好。您可以使用'title =「...''來自定義錯誤文本'' – 2014-12-10 21:34:42
將'else'子句添加到隱藏錯誤消息的兩個if語句中。 – Barmar 2014-12-10 21:36:17
@Bramar,非常感謝! – 2014-12-10 21:48:38