2011-07-29 2 views
0

자바 스크립트를 사용하여 입력란의 유효성을 검사하여 사용자가 특정 번호를 초과하지 못하도록하고 싶습니다. 이미 숫자에 대한 유효성 검사를 수행했습니다. 사용자가 특정 번호를 초과하여 입력하지 못하도록하려면 어떻게합니까? 예를 들어, 사용자는 내가 시도 이상 24자바 스크립트를 사용하여 HTML 입력 텍스트 상자가 특정 숫자 아래에 있는지 확인하는 방법은 무엇입니까?

입력 할 수 없습니다 onkeydown="return (this.value<25)"

HTML

<input type="text" size="2" maxlength="2" onkeydown="return (event.ctrlKey || event.altKey 
       || (47<event.keyCode && event.keyCode<58 && event.shiftKey==false) 
       || (95<event.keyCode && event.keyCode<106) 
       || (event.keyCode==8) || (event.keyCode==9) 
       || (event.keyCode>34 && event.keyCode<40) 
       || (event.keyCode==46) 
       || (parseInt(this.value, 10)<25))"> 
+0

을 키 이벤트가 끝날 때까지 업데이트됩니다. 그러나 어떤 경우에는 keydown (또는 keyup 또는 keypress)에서이 작업을 수행하지 않습니다. 두 가지 이유가 있습니다. (1) 사용자의 관점에서 볼 때 조금 이상합니다. 숫자 키 highe 2 세 이상은 몇 가지 경우에만 작동하며, 왜인지 알기까지 시간이 걸릴 수 있습니다. (2) 키보드를 사용하지 않고도 더 높은 숫자 (또는 문자)로 붙여 넣을 수 있습니다. 양식의 onSubmit 및/또는 필드의 onchange를 검증해야합니다. – nnnnnn

+0

흠, 내가 너의 제안을 받아 들일 것 같아! 개조가이 질문을 닫을 수 있습니다! – newtodatatables

답변

1

기수를 사용하십시오 : I는 입력 값을 생각하지 않는다

return (parseInt(this.value, 10)<25) 
+0

나는 이것을 시도했다. 그러나 그것은 작동하지 않는다, 나의 최신의 질문을 보아라. 감사. – newtodatatables

관련 문제