web developer👩🏻‍💻

[JavaScript] input Box 자동 submit 막는 방법 3가지 본문

js

[JavaScript] input Box 자동 submit 막는 방법 3가지

natrue 2021. 11. 4. 11:31
728x90

input Box가 하나이고, 값을 입력 후 enter키를 누르면 submit이 돼버리는 현상이 생겼다.

이 문제를 해결하기 위한 방법 3가지를 적어보려고 한다.

1. input Box를 하나더 생성한다. style로 숨기기.  

<form id="searchForm" name="searchForm">
   <input type="text" title="검색어 입력" id="search01" name="search01" value=""> 
</form>

원래의 소스에 style display:none인 input을 추가해준다. * type은 text *

display:none  - 아예 사라지게 하는 것. 보이지도 않고 해당 공간도 존재하지 X

visibility:hidden - 보이지만 않고 해당 공간은 존재. width와 height값을 주었다면 그만큼 공간은 존재

<form id="searchForm" name="searchForm">
   <input type="text" title="검색어 입력" id="search01" name="search01" value="">
   <input type="text" style="display:none">
</form>

2. keycode값을 판단해서 처리해준다. (추천)  

preventDefault : 브라우저 고유의 동작을 중단 

stopPropagation : 부모 엘리먼트에게 이벤트 전달을 중단

document.폼name.addEventListener("keydown", evt => {
  if (evt.code === "Enter") 
  evt.preventDefault();
});

3. form 태그의 속성값으로 막아주기.  

<form onsubmit="return false"></form>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

input 요소에 enter키 눌렀을 때 원치않는 submit 막기

예를 들어 input 요소에 값을 입력하고 enter키를 누르면 submit이 되는데, 값을 입력하지 않고도 enter키를 누르면 원치않는 submit이 되는 현상이 발생한다. 해결책은 Javascript로 이벤트를 무효화해주

selosele.github.io

 

 

[JS] event.preventDefault() 간단 설명 😊/ preventDefault란?

preventDefault 란? a 태그나 submit 태그는 누르게 되면 href 를 통해 이동하거나 , 창이 새로고침하여 실행됩니다. preventDefault 를 통해 이러한 동작을 막아줄 수 있습니다. 주로 사용되는 경우는 1. a 태

programming119.tistory.com