Ter*_*ich 6 javascript forms ajax jquery file-upload
我有类似以下代码:
UploadWidget.prototype.setup_form_handling = function() {
var _upload_widget = this;
$('form#uploader')
.unbind('trigger-submit-form') // This might be our company's own method
.bind('trigger-submit-form', function() {
var $form = $(this);
$form.ajaxSubmit({
dataType: 'json',
success: function(data, status, xhr, form) {
// ...
},
error: function(xhr, status, errorThrown) {
// ...
}
});
return false;
});
};
Run Code Online (Sandbox Code Playgroud)
有没有办法使用表格的重置按钮来取消上传过程?或者我是否必须导航到当前页面(刷新)才能停止一切?
我尝试使用UploadWidget对象存储一个存储jqXHR值(和调用var _upload_widget.jqXHR = $form.ajaxSubmit({ ... });)的变量,但我不认为我做得对.
S. *_*rby 10
不像jQuery.ajax(),ajaxForm()和ajaxSubmit()jQuery的形式插件不会返回jqXHR对象.但是还有其他方法可以获取jqXHR对象:
data() 表单对象上的方法(最简单的方法)ajaxSubmit()返回表单对象.您可以data()在此表单对象上调用该方法以获取XHR对象:
var form = $('#myForm').ajaxSubmit({ ... });
var xhr = form.data('jqxhr');
Run Code Online (Sandbox Code Playgroud)
然后xhr.abort()在您想要中止上传时拨打电话.
此功能已于2012年12月添加; 见问题221.(shukshin.ivan的回答是第一个指出这一点.)
beforeSend 回调(2012年12月之前的jQuery Form版本)除了在jQuery的形式插件网站上列出的选项,ajaxForm()并且ajaxSubmit()还将采取任何jQuery.ajax()选项.其中一个选项是beforeSend回调,回调签名是beforeSend(jqXHR, settings).
因此,指定一个beforeSend回调函数,jqXHR对象将作为该回调的第一个参数传入.保存该jqXHR对象,然后可以abort()在要中止上载时调用该jqXHR对象.
| 归档时间: |
|
| 查看次数: |
6104 次 |
| 最近记录: |