블랙베리 개발의 첫 발을 디디다, Hello World!
노트북과 스트레스
나는 회사에서 필요로 하는 인재인가, 에 대한 의문.
datediff 함수 그리고 유지보수
초보, 트랜잭션의 중요성을 깨닫다
양 손이 너무도 가벼운 추석이다.


2010/03/08 17:54  보댕                  나의 개발자 브랜드/├─ 신입 개발자 일기
  실수한 언제나 해결되고 나서 보면 허망하고 창피한 것인가 보다.  

  버튼을 누르면 윈도우 창이 닫히도록 되어있던 기존 코드를 특정 웹페이지로 이동하는 것으로 고쳐달라는 요청사항을 받았다. '뭐 그거쯤이야' 라는 생각으로 자신만만하게 onclick에 location.href를 집어넣었는데, 웬걸- 아무리 버튼을 눌러도 페이지가 새로고침 되기만 할 뿐 페이지 이동이 되지 않는다.

  자바스크립트가 먹지 않는건가 하는 혹시나 싶은 마음에 alert 창을 띄워보았지만 메시지창은 띠링 띠링 잘도 나온다. 하기사 기존에 있던 window.close() 자체가 자바스크립트이었거늘. 여튼 이리저리 코드를 뒤집어 보아도 해결점을 못찾은 나머지, ASP.NET이 아닌 일반 ASP에도 과연 포스트백(...)이 있는가 하는 고민까지 해 보았다. 얼마나 내가 쓴 코드의 무결함을 믿었으면 이런 말도 안 되는 생각까지 해 보았을까.

  어려운 문법도 아니고 자바스크립트에서 페이지 이동이 안된다며 우는 소리 하는게 자존심 상하는 일이라 지난 주 금요일부터 참던것을 결국 월요일에 이르러서야 도움을 구하게 되었다. 그 원인은 다름 아닌 input type이 submit으로 되어 있던 것!
<input type="submit" onclick="location.href='test.asp'">  --- X 틀린 예
<input type="button" onclick="location.href='test.asp'">  --- O 옳은 예

  submit은 선택되었을 때 폼 내에 설정된 action으로 가는데, 아마 onclick의 액션보다도 cation 쪽이 더 우선순위가 높게 설정이 되어있는 모양이다. 코드 안에서 수정한 건 딱 하나다- 타입을 button으로 바꾸자마자 거짓말처럼 잘 되는 코드. 왠지 슬프고 창피하고 미묘한 감정이다.
2010/03/08 17:54 2010/03/08 17:54
TOP
http://deng-i.net/blog/dream/rss/response/505