【问题标题】:successful file upload opens new blank page, also allows "empty/blank" to upload文件上传成功打开新的空白页面,也允许“空/空白”上传
【发布时间】:2012-11-27 11:14:08
【问题描述】:

以下代码可以正常工作,但有两个问题:它是它出现的网页上较大表单的一部分。

<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 脚本是否返回任何内容,都会发生这种情况。

如何解决?如果需要,我愿意替换页面上的这段代码。

【问题讨论】:

    标签: html ajax file-upload


    【解决方案1】:

    如果没有您的 java 脚本代码,就很难准确判断出了什么问题。不过我想我知道如何解决您的一些问题。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多