当用innerHTML 输出 file上传组建的时候,页面上原有的 file值就变成了空,是怎么回事?
有解决办法吗

解决方案 »

  1.   

    假如页面有一组建
    <div id="aaa"><input type="file" name="aaa"></div>(已经选择了上传文件,file里有路径了。)document.getElementById("aaa").innerHTML+='<input type="file" name="aaa">';file所选中的路径 就为空了。。怪异
      

  2.   

    复制前你alert();可能出现null和undefined的情况就为空了
      

  3.   

    没有任何异常,没有任何alert
      

  4.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>无标题文档</title>    <script type="text/javascript">
            function add() {
                var f = document.createElement("input");
                f.type = "file";
                document.getElementById("divContainer").appendChild(f);
            }
        </script></head>
    <body>
        <input type="button" value="add" onclick="add()" />
        <div id="divContainer">
        </div>
    </body>
    </html>
      

  5.   

    改动量太大了。
    我用 innerHTML 里还有table tr td id name 什么的 。不知道怎么用这样的方法写 ,请赐教。
      

  6.   


    好像file不能保存你之前选择的内容吧
    你用个隐藏表单域或是建一个属性,把file的值保存起来
      

  7.   

    这样你把要放file的地方放一个DIV代替 把除了FILE的所有元素都innerHTML进去以后 再
     var f = document.createElement("input");
                f.type = "file";
                document.getElementById("div").appendChild(f);
    是没问题的!但是要注意加载顺序
      

  8.   


    <div id="aaa"><input type="file" name="aaa"><input type="text" name="fielValue" /></div>
    file选择文件后,加个事件将内容放入隐藏表单域中;然后innerHTML应该可以
      

  9.   

    LZ是想做多文件上传的效果吧?
    <input   type=file> 的value属性是只读的, 所以是不可能赋值。就是不能用JS来操作
    所以就会出现LZ你这样的结果..
    请楼主想其它方法实现吧..
      

  10.   


    是的file是个比较特殊的input,不能给值,顶多只能自己给自己
      

  11.   

    希望能给你启示!因为JS的安全机制,是不能给FILE添加ONCLICK事件的,所以就像一下实现: