Javascript 在表单中上载文件而不刷新页面

Javascript 在表单中上载文件而不刷新页面,javascript,html,ajax,forms,Javascript,Html,Ajax,Forms,我有一段代码: <form name="myUploadForm" method="post" action="/scripts/upload.do" enctype="multipart/form-data" id="fileUpload"> <table width="100%" border="0"> <tr> <td> <input type="file" name="xl

我有一段代码:

<form name="myUploadForm" method="post" action="/scripts/upload.do" enctype="multipart/form-data" id="fileUpload">
   <table width="100%" border="0"> 
      <tr>
         <td>
            <input type="file" name="xlsFile" size="60" value="test.xls"> 
            <input type="button" value="Upload File" name="upload_xls">
         </td>
      </tr>
   </table>
</form>


现在我可以用Struts上传文件,但它会刷新页面。如何在不刷新页面的情况下执行此操作?

如果可以使用jQuery,可以使用类似的方法。

有两种方法:

  • HTML5支持文件API
  • 创建一个隐藏的iframe,将表单的属性“target”指向iframe的id
  • 对我有用的是:

    在表单标签上,我有target=“hidden iframe”

    页面上隐藏的i形框如下所示:

    <iframe name="hidden-iframe" style="display: none;"></iframe>
    
    
    

    这里要强调的重要一点是,表单引用的是框架的name属性,而不是id。

    您可以使用jQuery发布表单并返回结果

    $('formId')。提交(
    职能(e){
    $.ajax({
    url:“/upload”,
    键入:“POST”,
    数据:新表单数据(本),
    processData:false,
    contentType:false,
    成功:功能(结果){
    控制台日志(结果);
    //$(“#div1”).html(str);
    }
    } );
    e、 预防默认值();
    } 
    );
    
    
    


    可能被复制@FlorianB该博客日期为2008年。(我知道,你的评论日期是2016年!)