반응형
html에서 form을 만들때 가장 쉽게 실수 하는 부분이 submit에 대한 것입니다.
모든 전처리를 서버에서 하는 경우에는 문제가 되지 않지만, javascript내에서 전처리르 하게 하는 경우에는
이 부분이 오작동을 일으키기도 합니다.
<form name="editForm">
<input type="text" name="keyword"/>
</form>
다음과 같이 html소스가 되어있다고 가정하고, 해당 파일이 http://localhost:8080/main.html 이라고 가정하였을 때,
다음과 같은 입력창이 하나 생성됩니다.
여기에 아무 텍스트나 입력하고 엔터를 치게 되면, 어떻게 될까요?
결론부터 말하면 아래와 같이 호출되게 됩니다.
http://localhost:8080/main.html?keyword=
두 가지 방법이 있는데
javascript에서 막는 방법 (jQuery 기준)
$("[name=editForm] input").keydown(function(e){
if(e.keyCode == 13){
return false;
}
});
위와 같은 경우 editForm의 모든 input에서 엔터를 막게된다
form에서 action을 막는 경우
<form name="editForm" action="javascript://">
<input type="text" name="keyword"/>
</form>
submit될 주소를 javascript로 막아둠으로써 submit을 막을수 있습니다.
반응형
'개발 창고 > Web' 카테고리의 다른 글
[Javascript] 운영체제에 대한 정보를 위한 navigator (0) | 2020.08.14 |
---|---|
[Javascript] 모바일과 윈도우 구분짓기, User-Agent (0) | 2020.08.13 |
[Spring] Movie Streaming 처리 (0) | 2020.08.10 |
[MyBATIS] Primary Key를 Insert하기 위한 SelectKey (0) | 2020.08.05 |
[Spring] 프로그램의 로깅을 위한 기술 Log4j (0) | 2020.08.03 |