2011-04-21 7 views
0

클래스와 연관된 요소를 하나씩 검색하는 방법. 양식에 몇 가지 필드가 있고 일부 숫자 필드는 class.Now에 연결된 것과 동일한 클래스의 필드에 대한 유효성을 검사해야합니다. 나는 jquery를 사용하고있다.클래스 필드의 유효성 확인

$("form").submit(function() { 
    $(".numeric").each(function(intIndex)){}) 
}); 

이것은 내가 생각하고있는 것입니다. 내 접근 방식이 맞습니까? 어떤 제안을하시기 바랍니다.

답변

1

귀하의 접근 방식이 올바른 것처럼 보입니다. 임의의 선택자가있는 경우 .each을 사용하여 일치하는 각 요소에 함수를 적용 할 수 있습니다. 실제로 아직 시도해 봤나? 그렇다면 귀하의 요구를 충족시키지 못하는 것은 무엇입니까?

$("form").submit(function() { 
    var fieldsAreValid = true; 

    $(".numeric").each(function(intIndex)){ 
     if (/* this field isn't valid */) { 
     fieldsAreValid = false; 
     } 
    }); 

    if (!fieldsAreValid) 
    return false; 
}); 

당신은 단순히 뭔가를 시도하고 작동하는지 확인하는 것을 두려워해서는 안 : 양식 제출을 방지하려면

, 당신은 sentinal 변수를 사용해야합니다. 제가 가장 좋아하는 선생님은 "컴퓨터 과학은 실험 과학입니다. 이제 사무실에서 나옵니다."라고 말했습니다.

+0

@divya 게시하지 마십시오 코드; 관련성이있는 경우 질문에 편집하십시오. – meagar

+0

정보를 제공해 주셔서 감사합니다. – tapps

0

당신의 접근 방식은 기술적으로는 정확하지만 실제로는이 프레임 워크를 처리하기위한 프레임 워크가 있습니다. 왜 바퀴를 재발견합니까? 보고 jQuery Validate

0

여기서 일하는 예를 찾기 유무 : 주석 http://jsfiddle.net/ezmilhouse/ssVa9/

function is_numeric(mixed_var) { 
    return (typeof(mixed_var) === 'number' || typeof(mixed_var) === 'string') && mixed_var !== '' && !isNaN(mixed_var);  
} 

$("form").live("submit", function(){ 
    var val = true; 
    $(this).find('input[type=text]').each(function(){ 
     if ($(this).hasClass('numeric')) { 
      if (!is_numeric($(this).val())) { 
       alert('Error! Field: ' + $(this).attr('name')); 
       val = false; 
      } 
     } 
    }); 
    if (val === false) { 
     return false; 
    } 
}); 
+0

정보 주셔서 감사합니다. 그것은 나를 많이 도왔습니다 – tapps

+0

당신의 문제를 해결 한 경우 환영합니다 - plz 최종 답변으로 수락 – ezmilhouse