2010-07-05 6 views
1

누군가가 내게 왜 the form validation fails in chrome을 설명 할 수 있습니까?jquery 양식 유효성 검사에서 Chrome이 실패합니다.

제출을 누르면 빈 필드에 빨간색이 표시됩니다. 해결책을 찾기 기쁠 ...

  • .required

    $('form .meet').focus(function() { 
        $('form .required').each(function() { 
         if($(this).val() == '') { 
          $(this).addClass('warning'); 
         } 
        }) 
    }); 
    $('form .meet').click(function() { 
        output = true; 
        if($('form .warning').length > 0) { 
         $(this).addClass('disabled').attr('disabled','disabled'); 
         output = false; 
        } 
        return output; 
    }); 
    $('form .required').keyup(function() { 
        if($(this).val()) { 
         $(this).removeClass('warning'); 
         if($('form .warning').length == 0) { 
          $('form .meet').removeClass('disabled').removeAttr('disabled'); 
         } 
        } 
    }); 
    
  • .meet이 (가) 관련 분야를 제출할 수 있습니다 비워 둘 수 없습니다 수있는 입력 필드입니다 -

    나는 크롬에 실패 왜 아무 생각이 없다 to .required

+0

크롬은 무엇이 잘못 되었나요? – jAndy

+0

아무 것도 입력하지 않고 submit 버튼을 누르면 - .warning 클래스가 mozilla, opera 및 ie에 추가됩니다.하지만 크롬이 실패합니다! – Henry

답변

0

크롬에서는 클릭 이벤트가 포커스 전에 발생합니다. 코드에서 포커스 이벤트가 먼저 발생해야합니다 (빈 입력에 경고 클래스 지정). 클릭시 입력 필드 값 평가를 수행해야합니다.

$('form .meet').click(function() { 
    output = true; 
    $('form .required').each(function() { 
     if($(this).val() == '') { 
      $(this).addClass('warning'); 
     } 
    }); 
    if($('form .warning').length > 0) { 
     $(this).addClass('disabled').attr('disabled','disabled'); 
     output = false; 
    } 
    return output; 
}); 
+0

고맙습니다. 그걸 해결해 줬어. 내 하루를 구해 줬어. – Henry

+0

그게 전부다. 돕고 배우는거야. 나는 이것을 몰랐다. 잠시 나마 잠시 동안 알아낼 수있는 몇 가지 도구를 파고 들었다. "모두가 승자입니다.":) –

관련 문제