본문으로 바로가기

input type=text 에 대문자 입력하기


1. onkeypress 이벤트에서 event.keyCode 값을 변경


<input type="text" name="text1" maxlength="15"
 onkeypress="fnUppercase();">


 function fnUppercase()
 {
  var event = window.event;
  if (event.keyCode >= 97 && event.keyCode <= 122)
  {
   event.keyCode = event.keyCode - 32;
  }
 }



이 방법은 copy & paste 에서는 동작하지 않는 단점이 있다.


2. onpaste 이벤트를 위해 clipboardData 데이터를 변경


<input type="text" name="text2" maxlength="15"
 onkeypress="fnUppercase();"
 onpaste="fnPaste();">


 function fnPaste()
 {
  var str = window.clipboardData.getData("Text");
  window.clipboardData.setData("Text", str.toUpperCase())
 }


이 방법은 clipboardData 데이터를 대문자로 변환하기 때문에 원래 데이터를 유지할 수 없다.


3. STYLE 의 text-transform 속성을 uppercase 로 변경


<input type="text" name="text3" maxlength="15"
 STYLE="text-transform : uppercase;">


이 방법은 소문자 입력시 대문자로 보이나 실제 값을 찍어 보면 소문자 이다.(-_-);;