Ajaxvalidator는 가장 자주 묻는 질문입니다. 버그를 수정했고(네티즌 여러분께 감사드립니다. "じ龙峸√") 모두가 가장 우려하는 문제에 대해 자세히 설명했습니다.
버그 현상: 검증 통과 여부에 관계없이 컨트롤이 다시 포커스를 얻었다가 다시 포커스를 잃으면 팁의 프롬프트가 포커스 프롬프트에서 중지됩니다.
이전 업그레이드 관련 기록:
a. AjaxValidator에 addidvalue 속성을 추가합니다(url 매개변수 뒤에 id와 값을 자동으로 추가할지 여부)
정보 구성 시 AjaxValidator가 런타임 값을 가져올 수 없는 버그를 수정하기 위해 플러그인에서 자동으로 추가합니다. URL 뒤에 "id=value" 형식의 웹페이지 매개변수가 있습니다.
서버측에서는 Request.querystring["id"]를 통해 값을 얻을 수 있습니다. 구체적인 데모를 보려면 데모1의 사용자 이름 입력 및 Default.aspx를 참조하세요.
예외 설명:
개발 과정에서 왜곡된 문자가 계속 발생합니다
예:
$("#thename").formValidator({onfocus:"사용자 이름은 최소한 6자, 최대 40자" ,oncorright:"입력 형식이 정확합니다."}).inputValidator({min:6,max:40,onerror:"입력한 사용자 이름이 잘못되었습니다. 확인하십시오."})// .regexValidator({regexp:"username",datatype :"enum",onerror:"사용자 이름 형식이 잘못되었습니다."})
.ajaxValidator({
type : "get",
url : "login .do",
data:"action =isExist",
datatype: "xml",
success: function(data){
root = data.documentElement;
var rowSet = root .selectNodes("//delete");
if( rowSet.item(0).selectSingleNode("value").text == "0" )
{
return true;
else
{
return false
}
},
버튼: $("#saveId"),
error: function(){alert("서버 서버가 사용 중일 수 있습니다. 다시 시도하십시오." );},
onerror: "사용자 이름을 사용할 수 없습니다. 사용자 이름을 변경하십시오.",
onwait: "사용자 이름의 유효성을 확인하는 중입니다. , 잠시만 기다려주세요..."//function() {alert($("#pcode").val());}
});
설명:
data :"action=isExist&thename=" $('#thename ').val(), $('#thename').val()이 고정되어 있고 초기 값이며 일반적으로 비어 있으므로 이 메서드는 유효하지 않습니다.
수정. 소스 코드:
formValidator.js
//ajax 확인
ajaxValid: 함수(returnObj) 메서드에서
는
var parm = "clientid=" id "&" id입니다. "=" encodeURIComponent(srcjo.val ());
다음으로 변경:
var parm = "clientid=" id "&" id "=" encodeURIComponent(encodeURIComponent(srcjo.val()))
프런트엔드를 통해 두 번만 인코딩되므로 백그라운드에서 한 번 디코딩하면 잘못된 코드 문제를 해결할 수 있습니다.
thename=java.net.URLDecoder.decode(thename, "UTF-8")
프런트엔드는 두 번 인코딩해야 합니다. 그렇지 않으면 여전히 왜곡됩니다.