成功上传文件会打开新的空白页面,也可以上传“空/空白”

时间:2012-12-10 02:30:28

标签: html ajax file-upload

以下代码正在运行但有两个问题:它是显示在网页上的更大表单的一部分。

<FORM id="my_file_upld_form"
 style="display: inline;"
 METHOD="POST"
 ACTION="/cgi-bin/fileupload_ajax.pl"
    ENCTYPE="multipart/form-data">
    <INPUT TYPE="file" class="ajaxfileupload" NAME="myfile" SIZE="42">
    <input type="hidden" class="ajaxfileupload" name="fileupload" value="ajax_fileupload">
    <input class="ajaxfileupload" type="submit" value="Upload"/>
</FORM>
  1. 允许上传“空白”或空(不点击文件选择和上传按钮)。这导致服务器出现500错误。
  2. 更大的问题是:文件上传后,在浏览器中打开一个新的空白页面,用户必须使用后退按钮返回运行该页面的页面。无论ajax脚本是否返回任何内容,都会发生这种情况。
  3. 如何修复?如果需要,我愿意在页面上替换这段代码。

1 个答案:

答案 0 :(得分:0)

如果没有您的java脚本代码,很难确切地知道出了什么问题。但是我想我知道如何解决你的一些问题。

  1. 不要相信您需要在后端代码中处理的客户端能够处理给您提供错误数据的表单。您可以验证表单客户端,但您也需要验证服务器端。

  2. 我怀疑这个问题正在发生,因为你没有阻止javascript中的默认事件。在jquery你会做

    $("#my_file_upld_form").submit(function(e){
               e.preventDefault()
    })