2010-01-29 7 views
1

간단한 모달을 사용하여 등록 양식을 엽니 다. 나는 패스워드를 확인하고 패스워드를 확인하려고 노력하고 있는데, 패스워드 필드는 항상 비어있다.jquery.validate equalTo 및 간단한 모달

<form method="post" action="Player/Register" id="registrationForm"> 
<input type="text" id="password" name="password" style="width: 200px" /> 
<input type="text" id="password_confirm" name="password_confirm" style="width: 200px" /> 
<form> 

    var validator = $("#registrationForm").validate(
    { 
     rules: { 
      password: 
      { 
       required: true 
      }, 
      password_confirm: { 
       equalTo: "#password" 
      } 
     } 
    } 
    ); 
+0

자세한 내용과 코드를 제공하십시오. 암호는 언제 비어 있습니까? –

답변

3

실제 마크 업에서 모달 폼 내부에있는 경우, 당신이 사용하고있는 모델은 <body> (대부분의 모달 대화 상자의 끝에 모달의 요소 세트를하여이 작업을 수행 움직이는 것을 가능 기본값), 외부<form>입니다.

이 문제를 해결하려면 양식을 포함하는 모달 컨테이너를 이동하십시오. 이에 대한 추론은 당신이 실제로 요소를 찾기 위해 $("#ID")을하고 있지만 아니에요 equalTo: #ID을 수행 할 때 오히려이 :

$("#password", password_confirm_DOM_Eement.form) 

당신이 유효성 검사 코드 내부에 보면, 당신은 자주 만의 의미 $(selector, element.form)를 볼 수 있습니다 내부는이며 해당 선택자와 동일한 양식입니다. 요소가 모달에 의해 양식 외부로 이동 된 경우 이것이 작동을 멈추는 이유를 알 수 있습니다.