2013-01-25 2 views
0

정의되지 않습니다 상태 디버거에서 그는 reportValidator 및 다른 세 개의 변수가 정의되지 않은 및 내 코드에서 사용할 수 없습니다 경고 : reportValidator.form() 오류가 발생합니다. 그러나 검증 자체는 모든 형태로 작동합니다.검증 기능은 내가 함수를 만들어

reportValidator = createValidatorForForm("#report-form"); 
    areaValidator = createValidatorForForm("#area-form"); 
    liquidationValidator = createValidatorForForm("#liquidation-form"); 
    comparableValidator = createValidatorForForm("#comparable-form");  

이제 reportValidator을 다른 변수는 글로벌 및 onDocumentReady 콜백 함수 외부에서 볼 수 있습니다 :

function saveReport() { 
if (!comparableValidator.form()){return}; 
$.ajax({ 
    url : SAVE_REPORT, // + "?json=" + ko.toJSON(reportModel), 
    data : { 
     json : ko.toJSON(reportModel) 
    }, ... 
+1

reportValidator.form()이란 무엇입니까? 제발, 전체 코드보기 validator 호출 방법 – renathy

+0

Validate는 표준 Jquery 함수가 아닙니다. 어느 lib를 사용하고 있습니까? –

+0

jquery.ready 콜백에서'createValidatorForForm'을 호출하고 있습니까? '$ (document) .ready (function() {... var reportValidator = createValidatorForForm ("# report-form"); ...})' –

답변

1
은 다음과 같이 코드를 변경

. var을 입력하면 로컬 변수를 만들고 onDocumentReady 콜백 함수에서만 사용할 수 있습니다.

+0

TypeError : comparableValidator가 정의되지 않았습니다. if (! comparableValidator.form()) {return}; - 여전히 작동하지 않습니다. – Skeeve

+0

그리고 스크립트가 캐시되지 않았습니까? –

+0

캐싱 문제가 아니라면'window.comparableValidator = createValidatorForForm ("# comparable-form");'시도해 볼 수 있습니다. 대답의 코드는 여기에 제안 된 동의어 여야하지만 어쩌면 코드에서 깨뜨린 내용이있을 수 있습니다 . –

관련 문제