2014-07-10 2 views
1

사용자 입력 또는 선택에 따라 다양한 입력 유형을 사용 또는 사용 중지하는 몇 가지 복잡한 유효성 검사를 통해 여러 유형의 입력 필드가있는 양식이 있습니다. JS를 사용하여 다른 활성화 된 입력 유형을 확인하고 비어있는 경우 누적 합계를 유지합니다. 사용 가능한 입력이 수정 될 때마다 CheckForm 함수가 실행됩니다.자바 스크립트 사용 가능 드롭 다운 선택 유형

그러나 문제는 내가 어떤 드롭 다운 선택 유형을 사용할 수 있는지 식별하는 것이고, 비어 있으면 alt_count 변수에서 계산해야합니다. 아래 코드를 살펴보면 확인란과 일반 텍스트 입력 유형이 잘 작동한다는 점에 유의하십시오. 선택형 유형에만 문제가 있습니다.

코드 : 제공 어떤 도움

function CheckForm() { 
    var alt_count = 0; 
    var field_list = ''; 

    $('tr#BaseTab td input:not(:button):not(:disabled), tr#BaseTab td select:not(:disabled)').each(function() { 
     if ($(this).attr('type') === 'checkbox') { 
      var temp_obj = $(this); 
      var temp_name = $(this).attr('name'); 
      if ($('input[name=' + temp_name + ']:checked').length === 0) { 
       alt_count += 1; 
      } 
     } else if ($(this).attr('type') === 'select-one') { 
      if ($(this).attr("selectedIndex") === 0) { 
       alt_count += 1; 
      } 
     } else { 
      if ($(this).val() === '') { 
       alt_count += 1; 
      } 
     } 
    }); 

감사합니다.

+0

볼 형식 코드가 있습니까? 선택 항목이 사용 중지되었다는 것을 완전히 확인했습니다. – cyberwombat

답변

0

select 요소에는 실제로 type="select-one" 속성이 없습니다. 그러나 DOM 요소에는 .type 속성이있어서 select-one 또는 select-multiple을 처리하는지 확인할 수 있습니다. 따라서 'type'속성을 확인하는 대신 다음과 같이 속성을 확인하십시오.

else if ($(this)[0].type === 'select-one') { 
관련 문제