HTML 테이블(table) 안에 폼(form)을 넣지 말자!

By | 9월 15, 2012

다른 브라우저는 다 인식하는 것 같은데, 

구글 크롬(chrome)은 테이블 안에 있는 폼(form)을 인식하지 못한다.

웹표준도 아니라고 하니 이렇게 사용하지 말자!!!

* 참고

위의 경우 디버거 등에서 보면, 실제 소스에는 form 태그 안에 <tr><td>등이 들어가 있음에도,
<form id="xxx"></form> 처럼 바로 태그가 닫혀 있음을 볼 수 있다. 그래서 jQuery등으로 하위
엘리먼트들을 찾으면 찾을 수가 없게 되는 것이다.

그러나 jQuery의 $form.serializeArray() 와 같은 메서드는 정상적으로 작동을 하는데,
왜 그런가 살펴봤더니, serializeArray()의 경우, 폼의 하위 엘리먼트등을 검색할 때
selector로 찾지 않고, elements 라는 property를 통해서 참조하기 때문에 그런 것 같다.

* 참고 링크

   http://code.google.com/p/chromium/issues/detail?id=136986 

* 추가정보

   - IE 빼고는 다 안되는 것 같다 -.-;;

Subscribe
Notify of
guest
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
헤헤헤
헤헤헤
2 years ago

감사합니다. form을 테이블 밖으로 빼고 input hidden 을 사용하니 해결 되었습니다.

만세