还有
document.getElementById("File1").click();
这个click(); 方法那来到啊?不明白

解决方案 »

  1.   

    document.getElementById("File1").click(); 就是等于你点击那个文件上传控件的浏览按钮啊!
      

  2.   

    1. 用js触发file-input的click事件,选出的file不能提交2. file的onchange事件里触发form.submit是没问题的,但是submit是form的一个方法,用它当form的input的名字会导致混乱,要改一下:<input type="submit" name="submit11"  / >   
      

  3.   

    1. 用js触发file-input的click事件,选出的file不能提交 
    也就是说,不可能通过点击button按钮,选择上传的文件后,直接上传文件咯?
      

  4.   

    同意eingmarra的说法,通过JS上传不了文件,除非submit之后,在对文件进行解析成二进制流上传,如果楼主是想要实现文件上传功能的话.用js提交最多得到上传文件名.
      

  5.   

    JS_10000说得对,不能用submit这个词作为表单中任何一个元素名称,另外为什么要用一个button去触发type=file的onclick,没必要吧
      

  6.   

    可以提交的,怎么会提交不了
    这个拿去试试存为ftestjs.php<?
    $file=$_FILES["file"];
    echo "<pre>file-><br>";
    print_r($file);
    echo "</pre>";
    ?>
    <!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 language="javascript">
    function up(form)
    {
    var fobj=document.getElementById("file");
    if(fobj.value!="")
      {
      form.submit();
      }
    }
    </script>
    </head><body>
    <form id="f1" enctype="multipart/form-data" method="post" action="ftestjs.php"><input name="file" id="file" type="file" value="" onchange="up(this.form)">
    </form>
    </body>
    </html>
      

  7.   

    没注意看,还要用button来点击,加个button就是了,调用的事件和file的onchange一样
    这是如果说file框有变化就提交,如果没有变化也要提交时再点击button提交,是这个意思吧
    反正不管你想怎么样,自己看着改好了调用up(form)函数即提交,注意不同地方调用传的参数参数是form对象
      

  8.   

    to 魂之利刃:
    你的方法可以,但我主要是想将input type="file"这个控件隐形,将button留下来。
    没有button的话,用file控件是可以做到的,但如何隐藏file里的那个text的input输入框?