2013-04-12 3 views
0

페이지에서 어떤 종류의 단추를 사용하여 유효성을 검사해야하는 폼이 있지만 양식을 복사하여 동일한 classid를 가진 폼이 두 개 이상있을 수 있습니다. 이 문제 없음 다른 기능 등이 연산자가 작동하지 않습니다여러 폼 유효성 검사

$(button.validate).click(function(){ 
    $(this.form).validate();  
}); 

의 validate() 함수를 통해 수행 할 수 없었다, 그래서 나는이 작업을 수행하는 또 다른 방법이 물어? 각 폼에 고유 한 ID를 부여 할 수 없습니다 ... 폼에 단추를 추가하여 폼이 연결되어 있는지 확인합니다.

function validate(targetform){ 


    $(targetform).validate({ 

      errorPlacement: function (error, element) {     
      error.appendTo(element.parent("div").next("div")); 
      }   
     }); 
    } 

HTML을

<button onclick="validate($(this).closest('form'))">validate</button> 
+0

을 sa에서 열린 양식입니다. 나 시간? 나는 사본과 원본을 의미합니까? –

답변

0
당신은 그런

$(document).ready(function() { 
    $('.myButtonClass').click(function() { 
     var relevantFormID = $(this).closest('form').prop('id'); 
     ValidateForm(relevantFormID); 
    }); 
} 

, 별도의 ValidateForm 기능은 모든 일을 할 수있는 각 버튼의 형태로 얻을 수

:

function ValidateForm(targetFormID) { 
    $targetForm = $('form[id="' + targetFormID + '"]'); 
    //Your target form is now available as a jQuery object, all perks included 
    //validation goes here 
} 
+0

첫 번째 게시물의 스크립트는 사용자의 대답과 함께 작동해야하지만 문제는 $ (document) .ready() 함수 외부에서 .validate() 함수를 호출 할 수 없다는 것입니다. – user2207726

+0

유효성 검사를 별도의 함수로 분리하고 그 함수를 폼 id를 인수로 전달하십시오. 그런 다음 함수 내에서 양식을 검색하여 거기에서 가져올 수 있습니다. –

+0

잡히지 않은 TypeError : Object [object Object]에 'validate'메서드가 없습니다. – user2207726