2009-05-31 3 views
4

좋아, 나는 몇 가지를 시도했습니다,하지만 난 여기 갇혀있어 ... 여기 jQuery validation errorPlacement 및 요소를 제거 하시겠습니까?

내가 함께 일하고 있어요 HTML입니다 :

<div class="required"> 
<label for="paysys_idworldpay" class="labelRadio"> 
<input type="radio" value="worldpay" name="paysys_id" id="paysys_idworldpay" class="inputRadio"/> 
<b>WorldPay</b></label> 
<label for="paysys_idoffline" class="labelRadio"> 
<input type="radio" value="offline" name="paysys_id" id="paysys_idoffline" class="inputRadio"/> 
<b>Paypal</b></label></div> 

<div class="required"> 
<label for="email">Email Address</label> 
<input type="text" value="" name="email" class="required email inputText" id="email" /></div> 

이 내가있어 코드입니다 이 양식에 대한 유효성 검사() 함수 : 이제

errorElement: 'p', 
errorClass: 'error', 
errorPlacement: function(error, element) { 
    error.insertBefore(element.prev()); 
    element.parent().addClass('error'); 
}, 
success: function(label){ 
    label.removeClass('error'); 
    label.parent().removeClass('error'); 
} 

, 위의 형태로 "이메일"와 같은 필드에 대해 잘 작동합니다 (이 단락을 삽입하고 추가와 함께 그것을 클래스 = "오류"를 할당 "div"래핑 할 때 클래스에 오류가 발생합니다.)하지만 라디오 버튼의 경우 동일한 방식으로 작동하지 않습니다. "오류"클래스를 주변 레이블에 추가하고 오류 클래스가있는 단락도 삽입하지 않습니다. 왜?

무엇이 잘못되었거나 잘못 되었습니까?

또한 어떻게 "성공"부분에 실제로 추가 된 단락을 제거합니까? 그것이 바로 지금이기 때문에, 그냥 그 클래스 속성에서 "오류"를 제거됩니다 및 입력 필드에 입력 한 모든 문자로는이 같은 다른 빈 단락이 추가

<p generated="true" class=""/> 

그래서 내가 무리와 끝까지

을 얼마나 많은 문자가 입력되었는지에 따라 각 필드의 모든 div에있는 사람들의 ... 다시, 내가 무엇을 놓치고 있습니까?

답변

0

FireBug으로 디버깅 해 보셨습니까? 사용하는 동안 DOM 속성을 사용하여 트리 구조가 예상과 일치하는지 확인하십시오.

+0

네가 틀린 것을 알아내는 행운이 없다 ... jQuery에서 이러한 성공 조건을 쓰는 방법 (단락 제거, DOM 작업 등)은 확실하지 않다. –

3

전체 유효성 검사 기능을 게시하고 양식에 어떻게 연결했는지 확인하는 데 도움이됩니다.

그럼에도 불구하고, 나는 몇 가지를 지적 할 수 있다고 생각 : 이메일 입력이 레이블 옆에있는 동안

라디오 버튼, 자신의 레이블 내부에 싸여있다. 코드는 지정는 < 입력 > 요소의 앞 이웃 전에 오류 DIV를 삽입 의미

error.insertBefore(element.prev()); 

합니다. 라디오 버튼에는 선행 이웃이 없으며 레이블 요소 안에 혼자 있습니다. 뭔가가 성공적으로 유효성을 검사 할 때 제거() 함수를 호출 할 필요는 <P> 태그를 제거하고, 둘째

error.prependTo(element.parents("div.required")).addClass("errorMsg"); 

:이 도움이

error.remove(); // assuming "error" is the &lt;P&gt; tag. 

희망 당신은에 코드를 변경해야합니다.