[VBS] 텍스트박스의 엔터키 적용하기 JavaScript_VBScript

텍스트 박스에서 엔터키를 치면 작동하는 스크립트.
<input type="text" id="a" value="" omkeyup="if(event.keyCode==13){send()};return false;">
<script language="VBScript">
Sub send()
location.href="http://www.empas.com"
End Sub
</script>
텍스트 박스에 내용을 입력하고, 엔터키를 치면 바로 작동하게 하는 스크립트이다.
위의 구문은 form 구문에 넣어서도 사용할 수 있는데,
본인이 테스트 해 본 결과, form(폼) 안에 텍스트 입력박스가 한개만 있는 경우는, 굳이 위와같은 구문을 사용하지 않아도 폼이 전송되었다.
하지만, 폼안에 텍스트박스가 여러개 있을경우, 엔터를 쳐도 폼 전송이 이루어 지지 않는다.
따라서, 위와같이 엔터키를 치면 작동하도록 하는 구문을 사용하면 유용하다.
? 왜 이런 구문을 쓸까?
음. 웹페이지를 쓰는 사람들 대부분은 자판을 두둘기거나, 마우스로 일일이 클릭하는것을 굉장히 귀찮아한다.
그냥 '웹페이지에서 내용을 입력하시오' 하는 주문이 있으면, 그냥 자판 두들기다가 다 입력하면 알아서 작동되기를 바란다.
즉, 사용자 위주의 사용환경을 위해서 필요하다는 것이다.
form(폼) 을 이용하는 경우,
<form method="post" name="testform">
<input type="text" id="a" name="a" value="" omkeyup="if(event.keyCode==13){chkempty()};return false;">
<br>
<input type="text" id="b" name="b" value="" omkeyup="if(event.keyCode==13){chkempty()};return false;">
<br>
<input type="button" id="btn" name="btn" value="입력완료" omclick="vbscript:call chkempty()">>
</form>
<script language="vbscript">
Sub chkempty()
'텍스트박스에 내용이 다 입력되었는지 확인한다.
'만약 텍스트박스 a 또는 b 에 아무값도 없으면 실행종료
If testform.a.value="" or testform.b.value="" Then : Exit Sub
call send() 'send() 스크립트를 실행한다.
End Sub
Sub send()
document.testform.action="보낼페이지"
document.testform.submit()
End Sub
</script>
만약, 위처럼 텍스트 입력박스가 두개인경우, 위와같이 텍스트박스에 포커스가 잡혀있는 상태에서 자판의 엔터키를 누르면 두개의 입력박스에 값이 모두 입력되었는지 확인한후, 실행할 스크립트로 이동한다.
하지만, form 안에 텍스트 입력박스가 한개뿐인경우, 굳이 위와같이 복잡하게 해줄 필요는 없다.
모두 생략해도, 윈도우가 알아서 작동한다..
(아직도 헷갈리지만, 텍스트 박스가 한개뿐일때 제대로 작동하는지 좀 미심쩍긴 하다. 가끔보면 폼안의 값을 전송하지 않는것 같기도 하다는 느낌이 든다.)
onkeyup 에 쓰인 스크립트는 자바스크립트이다.

덧글

댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.


통계 위젯 (화이트)

4361341
8822
10213895

google_myblogSearch_side

▷검색어

Flag Counter style2