2011-09-19 2 views
1

사용자가 특정 질문에 대답하면 새로운 입력 상자가 활성화됩니다.) 때때로 일부 입력이 비활성화 된 양식이 있습니다. jquery 코드를 만들려고합니다. 사용되지 않는 모든 항목이 비어 있지 않은지 확인하십시오. 현재로서는 다음을 시도했지만 작동하지 않았습니다.jquery 유효하지 않은 항목에 대해

$(document).ready(function(){ 
    $('submit').click(function() 
    { 
     if($(':text:not(:disabled)').val().length === 0) 
     { 
      $('#message').html('All Entries Must Be Completed'); 

     } 
    });          
}); 

누군가 나를 도울 수 있습니까? 이 라인 이후

+4

기존 jQuery 유효성 검사 플러그인을 사용하는 것이 좋습니다. 휠을 재발 명하지 마십시오. http://docs.jquery.com/Plugins/validation –

+1

위의 +1. jQuery 유효성 검사 플러그인이 우수합니다. –

+1

+1 to @Matt; 엘 요보 (El Yobo)에 동의합니다. jQuery .validate() 플러그인이 우수합니다! 당신이하는 일은 규칙적인 HTML 속성을 설정하고 양식 요소에 플러그인을 호출하는 것뿐입니다. 'required' 클래스를 추가하여 필수 클래스로 만들고,'email' 클래스를 추가하여 실제 이메일 등을 확인하십시오. 이것은 매우 청결한 플러그인입니다. 모든 사람이 검증을 위해 사용해야하는 플러그인입니다. – Nathan

답변

1

:

$(':text:not(:disabled)') 

당신은 각각의 돌이 필요하고 .val 사용하여 비어 있는지 확인 할 여러 항목 (배열)을 반환합니다().

선택기를 수정하여 비활성화 된 비어있는 셀만 가져옵니다.

$(document).ready(function(){ 
    $('input[type=submit]').click(function(e) { 
      if($(":text:not(:disabled)[value='']").length != 0) { 
        alert('All Entries Must Be Completed'); 
        return false; 
      } 
    });          
}); 
+0

.val(). 길이를 쓰려고 했습니까? 나는 당신이 그것을 어떻게해야한다고 생각 했는가 ... – Joseph

+0

아니요. 어떤 배열로 돌아가고 있습니다 : 사용하지 않는 텍스트 요소와 어떤 값도 포함되어 있지 않습니다. 선택기에서 값 확인을하고 있습니다. 그것은 [가치 = '] 부분입니다. –

+0

오케이, 이해합니다. 그러나 이것을 시도하고 if 문을 입력했지만 입력 내용이 비어 있지 않은 경우에도 처리합니다. 왜 이렇게 될까요? 여러 개의 값을 선택했기 때문에 각 문장이 여전히 있어야하지 않습니까? 이것이 문제가 되겠습니까? ... – Joseph

관련 문제