有關firefox下js在table中動態創建form元素無法傳值問題

搞了一天啊,不過也值了

用swfupload時候,上傳成功了,可是返回數據在form中創建了一些input 和 textarea 來存儲上傳文件的一些數據,提交整個表單時候,這部分數據卻未能提交,左看右看,上看下看,該拷貝的東西都拷貝過來了,就是post不過去數據,崩潰,撓牆。

後來直接把demo,整個拷貝過來,發現好了,再看發現了demo中用的都是div,而我用了一些table(頁面都是那樣的,懶得改),加上table又壞了,去掉又好了,初步確定發現問題就出在這倒黴的table上。去查了一下,發現其實是我寫法的問題。

以前養成的習慣,習慣這麼寫:

<table>

<form>

<tr><td></td></tr>

……

<tr><td></td></tr>

</form>

</table>

但是其實這樣是不符合DOM規範的寫法,【在Firefox中,上面的嵌套也能正確地傳遞事先定義的表單參數,但是如果使用DOM創建新的表單項,新的Node無法與未按標準嵌套的form建立關聯,所以post數據的時候它是不會被傳遞的】以上即爲今日所得,怕日後忘記,記於此。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章