【问题标题】:Live file upload实时文件上传
【发布时间】:2012-04-03 09:44:08
【问题描述】:

我正在处理 jQuery 实时文件上传。

我的应用程序中有一个带有文件字段的表单。当用户选择一个文件时,我需要使用 AJAX 文件上传方法上传它。然后稍后当用户在“提交”上提交时,将进行真正的文件上传。

使用以下方法,我的 AJAX 文件上传非常顺利。但问题是文件上传后,文件字段的值会被清除。

var url = $('#site').val()
url = url + "/ajax/addTmpImg";

var id = 'my_file';

alert($('#' + id).val()); // THIS WILL SHOW FILE FIELD VALUE

$.ajaxFileUpload({
    url: url,
    secureuri: false,
    fileElementId: id,
    dataType: 'json',
    data: {
        'type': file_name,
        'name': file_name
    },
    success: function (data, status) {
        alert($('#' + id).val()); // THIS WILL RETURN EMPTY
    },
    error: function (data, status, e) {
        alert(status);
    }
});

在文件上传之前,这会提醒文件字段的值,在文件上传之后,这样做不会显示任何内容。

【问题讨论】:

    标签: javascript ajax jquery file-upload


    【解决方案1】:

    尝试定义一个全局变量并将值$('#'+id).val() 分配给该变量。

    像这样:

    var someVar = $('#'+id).val();
    

    您可以稍后访问该变量。

    【讨论】:

      【解决方案2】:
      var url = $('#site').val();
      url = url + "/ajax/addTmpImg";
      
      var id = 'my_file';
      var val = $('#' + id).val();
      
      alert(val); // THIS WILL SHOW FILE FIELD VALUE
      
      $.ajaxFileUpload({
          url: url,
          secureuri: false,
          fileElementId: id,
          dataType: 'json',
          data: {
      
              'type': file_name,
              'name': file_name
          },
          success: function (data, status) {
      
      
              alert(val); // THIS WILL SHOW FILE FIELD VALUE
          },
          error: function (data, status, e) {
              alert(status);
      
      
          }
      });
      

      【讨论】:

      • 感谢您的回复,我的问题是ajax文件上传会很好,文件上传后文件字段的值会被清除。即,无法再次提交文件进行上传(它将为空)
      猜你喜欢
      • 2013-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多