본문 바로가기

Programming/HTML&JAVASCRIPT&JQuery

<html> input 태그가 하나만 있을 때 엔터를 치면 submit되는 현상 막기

728x90
반응형

 

이벤트를 주지 않았는데 엔터키를 누를 때 submit이 된다..??

난 엔터키로 submit 하고 싶지 않은데...

어떻게 해야할까??

 

원인?

 

브라우저마다 다를 수가 있지만 form태그 안에 input 태그가 유일할 시 엔터를 치게 되면 기본적으로 submit이 됩니다.

 

<예제 코드>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
  <form action="where.do">
   <table>
<tr>
<td>Text에 값 넣기<br></td>
</tr>
<tr>
<td rowspan="1" colspan="3" style="vertical-align: top; width: 30%;">
<input type="text">
</td>
</tr>
<tr>
    <td><input type="submit" value="서브밋"></td>
</tr>
</table
    </form>
</html>
cs

 

 

<결과>

텍스트상자에 값을 넣고 enter를 누르게 된다면 submit이 됩니다.

 

<넘어간 화면>

 

 

해결방법

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
  <form action="where.do" onsubmit="return false">
   <table>
<tr>
<td>Text에 값 넣기<br></td>
</tr>
<tr>
<td rowspan="1" colspan="3" style="vertical-align: top; width: 30%;">
<input type="text">
</td>
</tr>
<tr>
    <td><input type="submit" value="서브밋"></td>
</tr>
</table
    </form>
</html>
cs

 

form태그에 onsubmit="return false"를 넣어주게 된다면 엔터키로 submit되는것을 막을 수 있습니다.

그리고 onsubmit을 막게 된다면 버튼이 작동하지 않게 되므로, javascript에서 form.submit()과 같이 따로 처리를 해주어야 합니다.

반응형