나는 지저분한 코드를 붙여 넣으 려하지만 죄송합니다. 도와 주실 수 있으면 실제로 비밀번호 변경 버튼을 onclientclick 이벤트에서 자바 스크립트 함수를 호출하는 암호 변경 기능을 구현하고 있습니다. 나는 3 현재 암호 (아약스 호출을 통해) 이전 암호와 일치하는지 여부 일jquery에서 암호 유효성 검사
- 새 암호를 검증 및 암호 필드가 같은 데이터를 포함 여부를 확인하고있다.
- 그리고 물론 필드의 다른 기준이 변화하고 성취하는 동안 빈 여부
두 번째와 세 번째 잘 작동하지만, 첫 번째 경우에도 비밀번호 didnt 한가 이전 암호와 일치되어 있는지 여부 암호
자바 스크립트 함수는 적절한 에러 메시지가 리턴 될 때 Ajax 호출 작성된
function check() {
var isValid = true;
// Validate User Information.
if ($("input[id$='txtBoxPasswrd']").val().length >= 0 && $("input[id$='txtBoxPasswrd']").val().trim() != "") {
$.ajax({
type: "POST",
url: "UserProfile.aspx/CheckCurrentUserPassword",
data: "{'userPasswrd':'" + $("input[id$='txtBoxPasswrd']").val() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
if (msg.d != null) {
var result = eval(msg.d);
if (result.toString() == "true") {
$("input[id$='txtBoxPasswrd']").next()
.removeClass()
.addClass('success')
.text("Ok");
}
else {
$("input[id$='txtBoxPasswrd']").next()
.removeClass()
.addClass('failure')
.fadeIn('slow')
.text("Password doesn't match with your old password");
isValid = false;
}
}
}
});
}
else {
$("input[id$='txtBoxPasswrd']").next()
.removeClass()
.addClass('failure')
.fadeIn('slow')
.text("Can't be blank.");
isValid = false;
}
if ($("input[id$='txtNewPassword']").val().length > 0 && $("input[id$='txtNewPassword']").val().trim() != " ") {
if ($("input[id$='txtConfirm']").val().length > 0 && $("input[id$='txtNewPassword']").val() != $("input[id$='txtConfirm']").val()) {
$('#txtConfirm').next()
.removeClass()
.addClass('failure')
.fadeIn('slow')
.text("Password doesn't match.");
isValid = false;
}
else {
$("input[id$='txtNewPassword']").next()
.removeClass()
.addClass('success')
.fadeIn('slow')
.text("Ok");
}
}
else {
$("input[id$='txtNewPassword']").next()
.removeClass()
.addClass('failure')
.fadeIn('slow')
.text("Can't be blank.");
isValid = false;
}
if ($("input[id$='txtConfirm']").val().length == 0 || $("input[id$='txtConfirm']").val().trim() == "") {
$("input[id$='txtConfirm']").next()
.removeClass()
.addClass('failure')
.fadeIn('slow')
.text("Can't be blank.");
isValid = false;
}
return isValid;
}
방법은 OK이다. isValid를 true로 반환하는 방법은 다른 두 가지 유효성 검사에서 잘 작동하는 ajax 호출 메서드를 제거하는 것입니다. 내가 뭘 잘못하고 있니?
는 맥
왜'eval (msg.d)'를 json으로 구문 분석하려고합니까? – Val
사실 나는 단지 ajax 호출 메소드에 의해 리턴 된 값을 검사 할 필요가 있으므로 – Mac
firebug 또는 chrome 개발자 도구에서'console.log (msg)'를 사용하여 확인할 수 있으며 그 값에 따라 u – Val