2013-07-19 2 views
0

내가 비교하고 다음과 같은 방법으로 내 네 개의 필드의 유효성을 검사해야합니다비교 및 ​​검증 입력 필드가

누군가가 현장에서 고객 번호를 쓰는 경우

는 주소 필드를 채울 필요가 없습니다합니다. 마찬가지로 누군가가 주소 필드를 채우면 클라이언트 번호를 입력 할 필요가 없습니다.

$('#Form1').submit(function(event) { 
    if ($(this).find('#address, #city, #postalcode, #customernum [input]').val() == '') { 
     alert('Please enter Your client number or your address!') 
    } 
    event.preventDefault(); 
} 
+2

당신은'.each()'를 사용할 필요가있다. '.val()'은 선택자와 일치하는 첫 번째 요소의 값만 반환하며 전부는 반환하지 않습니다. – Barmar

+0

특정 필드 만 확인하면됩니다. 추가 필드가 20 개 더 있습니다. – jheul

+0

내가 원하는 경우 또는 주소 입력란이 비어있는 경우 고객 입력란을 입력하고 그 반대의 경우도 마찬가지입니다. – jheul

답변

1
$('#Form1').submit(function(event) { 
    var formok = false; 
    if ($("#customernum").val() != "") { 
      formok = true; 
    } else { 
     formok = true; 
     $("#address, #city, #postalcode").each(function() { 
      if ($(this).val() == '') { 
       formok = false; 
       return false; // break out of loop 
      } 
     }); 
    } 
    if (!formok) { 
     alert('Please enter Your client number or your address!') 
     event.preventDefault(); 
    } 
} 
+0

이것은 성공했습니다. 고마워요. – jheul

0

귀하의 요소가 ID를 가지고 :

여기 내 코드입니다. 사용 이유 :

$(this).find(' #address, ... 

? 이것은 필요하지 않습니다.

시도 난 당신이 뭘 하려는지 할 여러 선택기를 사용한 적이

$('#address, #city.... 

수행하는, 그래서 그것은 작품을거야 나도 몰라. 나는 그렇게 생각한다.

+0

좋은 정보이지만 질문에 대한 답변이 아닙니다. – Barmar

+0

글쎄요, 아마도 그것은 단지 문제 일 것입니다. Jquery는 그것을 좋아하지 않으며 작동하지 않습니다. 확실하지 않음 –

+0

'val()'이 여러 요소와 일치하는 선택기와 함께 작동하는 방법에 대한 위의 내 의견을 읽었습니까? – Barmar