2012-09-21 5 views
1

여기에 마음이 있습니다 Boggling 질문에 문제가 있습니다. 텍스트 필드가 있습니다. 이 텍스트 필드 텍스트 필드 복사 안전에 Jquery 제한 텍스트

  1. XXX-XXX-XXXX
  2. 4 형식

    과 미국의 휴대 전화 번호를 수용 할 필요가 XXXXXXXXXX
  3. XXXX-XXX-XXXX
  4. XXXXXXXXXXX

때 마지막 문자가 입력되면 아약스를 통해 확인해야합니다. 문제는 없습니다.

입력, 복사 및 붙여 넣기, 삭제 및 해당 필드에 숫자를 입력 할 때 가능한 모든 방법으로 텍스트 상자에 전체 휴대폰 번호가 있는지 확인해야합니다.

$ ("# id") .keyup으로 확인해 보았지만 붙여 넣을 때 작동하지 않습니다.

거기에 도착한 방법과 상관없이 해당 필드에 10 또는 11 개의 문자가 있으면 간격 또는 다른 방법으로 확인하는 방법이 있습니까? [편집] 여기

내가

이 폭탄처럼 작동
var checkMsisdnInterval = window.setInterval(function() { 
    var msisdn = getdigits($("#newSessionMsisdn").val()); 

    if(msisdn.length == 10 && !checked) { 
     doPreCheck(msisdn); 
     checked = true; 
    } else if(checked == true) { 
     //do something here 
    } else { 
     //do something else 
    } 
}, (1000 * 60 * 0.1)); 

$("#newSessionMsisdn").keyup(function(){ 
    checked = false; 
}); 

function getdigits (s) { 
    return s.replace (/[^\d]/g, ""); 
} 

을 볼 수있는 솔루션입니다. 모든 답장을 보내 주셔서 감사합니다

답변

0

왜 ajax 호출에서 체크하지 않으시려면 beforeSend 메소드를 사용하고 입력 필드의 길이를 확인하십시오. 참고로

, jQuery를 사용 http://api.jquery.com/jQuery.ajax/

+0

. 예를 들어 사람이 휴대 전화 번호를 입력하기 시작합니다. 길이에 이르면 텍스트 필드를 사용할 수 없게되고 버튼을 클릭하지 않고 사람이 선택되어 있는지 확인하기 위해 ajax 호출을 수행합니다. – Ryan

0

, 당신은 변경 이벤트 받게 요? 작동하지 않습니다

http://api.jquery.com/change/

+0

.change 이벤트는 텍스트 필드에서 작동합니까? 선택 상자에서만 작동한다는 인상 아래있었습니다. – Ryan

+0

.change 이벤트가 내 텍스트 필드에서 작동하지 않거나 등록하는 데 20 초가 걸렸습니다. $ ("# newSessionMsisdn"). change (function() {checked = false;}); – Ryan