有关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数据的时候它是不会被传递的】以上即为今日所得,怕日后忘记,记于此。


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