2014-11-11 4 views
0

동일한 이름과 클래스를 가진 하나 이상의 텍스트 상자가 있습니다. jQuery 유효성 검사를 사용하여 필요에 따라 유효성을 검사합니다. 여기서 문제는 첫 번째 확인란 외의 필드에 값을 입력하지 않고 양식을 제출할 때 오류 메시지가 첫 번째 텍스트 상자 옆에 표시된다는 것입니다. 예를 들어 두 번째 텍스트 상자에 값을 입력하지 않고 양식을 제출하면 첫 번째 텍스트 상자 근처에 오류 메시지가 표시됩니다. 나는 그것이 유효성 검사를 위해 같은 이름/클래스를 사용하기 때문이라고 생각한다.jQuery 유효성 검사 오류 메시지가 잘못 배치되었습니다.

클래스와 이름을 사용해 보았습니다. 변경 없음. 내 샘플 코드는 아래와 같습니다. 이견있는 사람? 코드와

HTML 부분

<input type="text" class="unit_price" name="add_purch_unit[]"> 
<input type="text" class="unit_price" name="add_purch_unit[]"> 

jQuery를 일부

$(".unit_price").rules("add", { 
     required:true 
    }); 
+0

이 때문에 같은 이름이다 ... –

+0

하지만 규칙을 추가하는 것입니다 –

+2

을 확인하려면 여기를 클래스를 사용 ...하지만 내부적으로 검증 프레임 워크 사용 요소 이름 –

답변

3
$(".unit_price").rules("add", { 
    required:true 
}); 

두 문제.

  1. 둘 이상의 요소를 대상으로하는 jQuery 선택기에 jQuery 유효성 검사 메소드를 첨부 할 수 없습니다. 이 부분에 대한 해결책은 jQuery .each() 내에 메소드를 랩핑하는 것입니다.

  2. 그러나 여전히 name 특성을 복제 할 수 없습니다. 위의 # 1에서 문제를 해결하여 class="unit_price"이있는 모든 요소에 규칙을 할당했지만 플러그인은 name 속성을 사용하여 모든 입력 요소를 추적합니다. 해결 방법은 도 각 요소에 고유 name을 할당해야한다는 것입니다.이 요구 사항에 대한 해결 방법은 없습니다.

    <input type="text" class="unit_price" name="add_purch_unit[1]"> 
    <input type="text" class="unit_price" name="add_purch_unit[2]"> 
    
+1

정확히 내 게시물에 쓰고있는 것이므로이 게시물을 지원하기 만하면됩니다. – Wolf87

+0

고마워요 @ 스패키. 모두 똑같은 일을합니다. 나는 그것을 시험했다. 어쨌든 다른 이름을 사용해야합니다. –

+1

@Corner, 아니오,'.each()'는 고유 한'name' 속성을 가지고있는 한 *** *** 만 작동합니다. 즉, 두 가지 해결책을 제공하지 않았습니다. 규칙을 어떻게 할당하든 관계없이 고유 한'name' 속성이 있어야합니다. – Sparky

관련 문제