티스토리 뷰

반응형

출처: https://rh-cp.tistory.com/65


현상 

: 검색 시 검색옵션이 제대로 구성되지 않으면 안내문 얼럿을 띄운 후 submit 되지 않도록 jsSubmit()이라는 자바스크립트 함수를 짰다. 

  검색어 입력란에서 엔터를 치면 jsSubmit()이 실행되도록 이벤트를 바인딩했다.

  jsSubmit() 함수 실행 시 검색옵션이 제대로 구성되지 않은 경우에는 안내문 얼럿이 뜨고, 다시 엔터를 치면 얼럿이 없어지고 submit은 일어나지 않는 것을 기대했다. 

  그런데 안내문 얼럿까지는 성공적으로 실행되는데 그 이후에 엔터를 치면 얼럿이 사라지는 대신 submit이 실행되었다. 

         

원인

: form 태그 내부에 input  태그가 1개만 존재할 때 엔터를 치면 submit이 실행된다고 한다.

 똑같은 자바스크립트 함수를 사용하는 다른 페이지에서는 같은 현상이 발생하지 않는 까닭은 다른 페이지에서는 검색옵션 입력란이 2개였던 것. 

  

해결방법

: 출처에서는 form 태그에 onsubmit="return false"를 하라고 하고, 

  다른 사이트에서는 input 태그를 하나 더 만들고 display:none 을 하라고 했는데...

  검색어 입력란에 엔터키를 쳤을 때에 jsSubmit()이 실행되도록 바인딩을 했는데 이 뒤에 event.preventDefault();를 넣어주면 된다.


** 더 알아보려면...

https://programmingsummaries.tistory.com/313

분명히 return false;를 해줬는데도 위 조건에서는 submit이 일어났다.

좀 더 살펴봐야 할 것 같다.

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함