2012-07-28 3 views
1

수정하기 쉬운 작은 문제가 있지만 아직 좋지 않습니다. 이 간단한 코드를 작성했습니다jquery에서 입력하는 동안 확인하십시오. 흐림 이후가 아닙니다.

$(document).ready(function(){ 
    $('#email').change(function(){ 
     var regexp = /^\w+[@]\w+\.\w{2,4}$/; 
     if(regexp.test($(this).val())){ 
      document.getElementById("submit").disabled = false; 
     } 
    }); 
}); 

확인 이메일은 양식에서 유효하며 그 다음에는 제출 버튼을 활성화합니다. 문제는 입력하는 동안이 아닌 다른 곳을 클릭 한 후에 전자 메일의 유효성을 검사한다는 것입니다. 기본적으로 이메일 필드 바깥 부분을 클릭해야만 제출을 클릭 할 수 있습니다. 적절한 이메일을 입력하고이 입력란 외부를 클릭하지 않으면 제출물이 잠금 해제되지 않습니다. 여기서 무엇을 바꾸어야합니까? 어떤 아이디어? 나는 모든 대답에 친절하게 감사한다. 미리 감사드립니다.

+0

.change 대신 .keyup 또는 .keydown을 사용할 수 있습니다. – hackattack

+0

이 답변에 표시된 것처럼 onKeyPress()와 onKeyUp()를 모두 사용하십시오. http://stackoverflow.com/questions/11365686/how-to onkeypress 중 입력 텍스트 상자 중 텍스트 입력/11365810 # 11365810 –

답변

1

시도

$('#email').keyup(function(){ 
    var regexp = /^\w+[@]\w+\.\w{2,4}$/; 
    if(regexp.test($(this).val())){ 
     $("#submit").prop('disabled', false); 
    } 
    else $("#submit").prop('disabled', true); 
}); 

또는

$('#email').on('keyup', function(){ 
    var regexp = /^\w+[@]\w+\.\w{2,4}$/; 
    if(regexp.test($(this).val())){ 
     $("#submit").prop('disabled', false); 
    } 
    else $("#submit").prop('disabled', true); 
}); 

Working Example

를 사용하여.

+0

감사합니다. Sheikh Heera, 불행히도 제출을 잠금 해제하지 않습니다. 실제로 그것은, 그러나 수동으로 주소를 입력하지 않습니다 (하지만 입력을 시작한 다음 이전 항목의 팁 다운 목록에서 선택) 그것은 doesnt 잠금을 제출. 이유가 무엇일까요? –

+0

그런 다음'.change()'핸들러를 삭제하지 마십시오. – darksky

+0

나는 완전히 이해하지 못한다. .change와 .keyup 둘 다 사용할 수 없습니다. –

관련 문제