2012-02-29 5 views
0

문서가로드 된 후 AJAX를 통해로드되는 긴 양식의 유효성을 검사하는 데 문제가 있습니다. 표준 검증 구문을 사용하여 유효성 검사기는 존재하기 전에 문서 내 양식을 찾습니다 때문에 나에게 오류가 있습니다 : 나는에 $("mainForm").validate();을 퍼팅 시도jQuery Validator 플러그인 기능 내에서 트리거

nothing selected, can't validate, returning nothing 

:

$(document).ready(function(){ 
    $("#mainForm").validate(); 
}); 

방화 광 응답을 함수는 형태에서 태그의 onsubmit 이벤트하지만 운이 함수를 호출 :

function validate() { 
    $("mainForm").validate(); 
}; 

---------- 

<form id="mainForm" onSubmit="validate();"> 
    ... 
</form> 

생각을?


@ 크리스에 대한 몇 가지 추가 정보 :

나는 동적으로 여러 모듈을 기반으로 양식을 작성하는 페이지가 있습니다. 사용자가 적용되는 모듈을 선택하면 채울 정보가있는 양식이 업데이트됩니다. 따라서 사용자가 링크를 클릭하여 모듈을로드하면 loadSection(); 함수가 호출됩니다. ';

function loadSection(id, div, size, frame) { 
    var url = "loadSection.php?id=" + id + "&size=" + size + "$frame=" + frame; 
    $.get(url, 
    function(data){ 
     $(div).append(data); 
    }); 
} 

내가 .validate()를`$ (#의 mainForm)를 넣을 경우 :이 loadSection(); 함수가 모습입니다 이 함수의 콜백에서 새 모듈을 삽입 할 때마다 호출 될 가능성이 있습니다. 어떤 것이 좋을 수도 있고 나쁠 수도 있습니다. 폼의 필드가 변경된 경우에도 동일한 양식에서 유효성 검사가 여러 번 호출되는 방법을 확신 할 수 없습니다.

생각하십니까?

답변

0

양식의 특정 요소의 유효성을 검사하려면 요소에 클래스 정의를 required으로 지정해야합니다. 그러나 나는 당신이 그것을 어디에서나 가지고 다니지 않고있는 것처럼 보입니다. 예를 들어

당신은 이메일 유효성을 검사 할 경우 : 선택 "mainform"

<p> 
    <label for="cemail">E-Mail</label> 
    <em>*</em><input id="cemail" name="email" size="25" class="required email" /> 
    </p> 
0

단순 실수가 올바른 선택이 아니다. 그것이 ID

EDIT 경우 "#"접두사를 추가 : 또 다른 validate 호출 해 인라인이 발견, 당신은 가능성이 바로 문제가 생겼어요 하나

1

것을 제거합니다. form이 document.ready()에서 DOM에 존재하지 않으면 아무 것도 바인딩되지 않습니다.

JQuery를 사용하고 있으므로 jquery $ .ajax (또는 유사한) 함수를 사용하여 양식을 추가했다고 가정합니다. 가장 간단한 해결책은 AJAX 요청의 콜백 함수에 $("#mainForm").validate();을 추가하는 것입니다. Jquery ajax를 사용하고 있지 않다면 양식을 추가하는 코드를 게시하십시오. 더 이상 당신을 도울 수 있습니다.

+0

원본 질문에 조금 더 설명 할 수있는 몇 가지 정보가 추가되었습니다. 감사! – jlommori