요 3개가 만나면 무슨일이 생길까.. 

safari / firefox 에서는 Form.serialize() 에서 값을 전혀 가져오지 못한다.


안될땐 검색.. 

prototype1.5 에서는 Form.serialize()가 안된다는 글이 보이고 1.5.1에서 fix 되었다고 하여 잽싸게 바꿔봤지만

안됨.. 


결정적으로 되는페이지가 있고 안되는 페이지가 있음을 확인하고 

prototype 코드에서 로그를 찍어가며 차분하게 원인을 좁혀 나가다가 확인하고 황당한 원인을 찾을수 있었다.


1. 되는거 

<td>

<form id="form1">

<table>

<tr>

<td><input ~~ /></td>

</tr>

....

2. 안되는거 

<td>

<table>

<form id="form1">

<tr>

<td><input ~~ /></td>

</tr>

....


결론 : <table> 태그밑에 바로 <form> 태그를 두지 마라. 그리고 그 form을 serialize 해봐라.. 안된다.

javascript framework도 다 java 기본 함수들을 쓸텐데. 다른 프레임웍에서도 충분히 발생 할 수 있는 문제이다. 


물논 퍼블리셔가 짜임새있게 해놓으면 저런건 구경할일도 없겠지만 우리는 살다보면 황당한 코드를 만나게 마련이다..



Posted by 마법수정화살
,