XOBM

WEB建站知识

您的位置: XOBM网   >   Js列表   >   关于js动态创建的表单元素无法正确传值的原因和解决方法

搞了一天啊,不过也值了

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