0
일단 처음 설정되면 고정 기능 아래 '동기화'변수에 문제가 있습니다.jQuery 유효성 검사 자바 스크립트 범위 지정 문제
내가 함께 ...
save(true);
save(false);
아래 호출하는 경우.
var save = function (sync) {
// value of sync here always reflects what is passed in
$('form').validate({
rules: {
...
},
submitHandler: function() {
var ajax = sync; // the first time sync is true, and then it is always true!
}
});
$('form').submit();
}
첫 번째 통화 동기화는 '참'입니다. 두 번째 호출에서 유효성 검사 전에 sync가 'false'이지만 submitHandler에서 sync가 'true'로 돌아갑니다.
저는 이것이 범위 지정 문제라고 생각합니다. 제출 핸들러에서 전달 된 '동기화'값에 어떻게 액세스 할 수 있습니까?
'save'를 호출 할 때마다 이전의 것을 제거하지 않고 새로운 validator 객체를 생성합니다. 'save'가 호출되는 방식에 대해 더 많은 코드를 추가 할 수 있습니까? 이상적으로'save()'를 호출 한 횟수에 관계없이'$(). validate()'__once__ 만 호출하면된다. – Mathletics
save()는 버튼 클릭 핸들러에서 바로 호출됩니다. 버튼을 클릭하면 저장이 호출됩니다 (한 번만 호출 됨). submitHandler에서 'this'는 jquery가 자체적으로 유효성을 검사한다고 생각합니다. 어떻게 든 동기화가 설정되면 다시 설정할 수 없습니다. 아주 이상한. –
... 당신이 잘못하고있는 것처럼 들리네. 폼이 생성 될 때 폼에서'validate'를 호출하고 submit 이벤트를 처리하도록해야합니다. 'save (false) '의 목적은 무엇입니까? – Mathletics