如何让ajaxfileupload.js支持IE9,IE10,并可以传递多个参数?
2014-12-12 13:01
316 查看
1、如何让ajaxfileupload.js支持IE9、IE10?
打开ajaxfileupload 文件,找到下面的代码。
[javascript] view
plaincopy
if(window.ActiveXObject) {
var io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />');
if(typeof uri== 'boolean'){
io.src = 'javascript:false';
}
else if(typeof uri== 'string'){
io.src = uri;
}
}
修改成如下:
[javascript] view
plaincopy
if(window.ActiveXObject) {
if(jQuery.browser.version=="9.0" || jQuery.browser.version=="10.0"){
var io = document.createElement('iframe');
io.id = frameId;
io.name = frameId;
}else if(jQuery.browser.version=="6.0" || jQuery.browser.version=="7.0" || jQuery.browser.version=="8.0"){
var io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />');
if(typeof uri== 'boolean'){
io.src = 'javascript:false';
}
else if(typeof uri== 'string'){
io.src = uri;
}
}
}
2、如何让ajaxfileupload.js可以在文件上传的同时传递多个台数。
找到以下代码:
[javascript] view
plaincopy
ajaxFileUpload: function(s) {
// TODO introduce global settings, allowing the client to modify them for all requests, not only timeout
s = jQuery.extend({}, jQuery.ajaxSettings, s);
var id = new Date().getTime()
var form = jQuery.createUploadForm(id, s.fileElementId);
//变化前
增加自己要传递的参数:
[javascript] view
plaincopy
ajaxFileUpload: function(s) {
// TODO introduce global settings, allowing the client to modify them for all requests, not only timeout
s = jQuery.extend({}, jQuery.ajaxSettings, s);
var id = new Date().getTime()
var form = jQuery.createUploadForm(id, s.fileElementId, s.tag_name, s.tag_link, s.tag_sort, s.tag_status, s.tag_id);//变化后
这里我们增加了五个传递参数。 s.tag_name, s.tag_link, s.tag_sort, s.tag_status, s.tag_id
接着找到:
[javascript] view
plaincopy
createUploadForm: function(id, fileElementId, tag_name, tag_link, tag_sort, tag_status, tag_id)//增加tag_name, tag_link, tag_sort, tag_status, tag_id
{
//create form
var formId = 'jUploadForm' + id;
var fileId = 'jUploadFile' + id;
//--增加以下内容
var tagNameId = 'tag_name' + id;
var tagLinkId = 'tag_link' + id;
var tagSortId = 'tag_sort' + id;
var tagStatusId = 'tag_status' + id;
var tagIdId = 'tag_id' + id;
//--end
var form = $('<form action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>');
var oldElement = $('#' + fileElementId);
var newElement = $(oldElement).clone();
//--增加以下内容
var tagNameElement = '<input type="text" name="tag_name" value="'+tag_name+'">';
var tagLinkElement = '<input type="text" name="tag_link" value="'+tag_link+'">';
var tagSortElement = '<input type="text" name="tag_sort" value="'+tag_sort+'">';
var tagStatusElement = '<input type="text" name="tag_status" value="'+tag_status+'">';
var tagIdElement = '<input type="text" name="tag_id" value="'+tag_id+'">';
//--end
$(oldElement).attr('id', fileId);
$(oldElement).before(newElement);
$(oldElement).appendTo(form);
//--增加以下的内容
$(tagNameElement).appendTo(form);
$(tagLinkElement).appendTo(form);
$(tagSortElement).appendTo(form);
$(tagStatusElement).appendTo(form);
$(tagIdElement).appendTo(form);
//--end
//set attributes
$(form).css('position', 'absolute');
$(form).css('top', '-1200px');
$(form).css('left', '-1200px');
$(form).appendTo('body');
return form;
},
注意注释中的内容为增加了内容。
修改完后,如何使用?
[javascript] view
plaincopy
$.ajaxFileUpload({
url:web_url,
secureuri:false,
//以下为增加的传递参数
tag_name:tag_name,
tag_link:tag_link,
tag_sort:tag_sort,
tag_status:tag_status,
tag_id:tag_id,
//--end
fileElementId:result[0],
dataType: 'json',
success: function (data,status){}
//以下省略
OK,done.
打开ajaxfileupload 文件,找到下面的代码。
[javascript] view
plaincopy
if(window.ActiveXObject) {
var io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />');
if(typeof uri== 'boolean'){
io.src = 'javascript:false';
}
else if(typeof uri== 'string'){
io.src = uri;
}
}
修改成如下:
[javascript] view
plaincopy
if(window.ActiveXObject) {
if(jQuery.browser.version=="9.0" || jQuery.browser.version=="10.0"){
var io = document.createElement('iframe');
io.id = frameId;
io.name = frameId;
}else if(jQuery.browser.version=="6.0" || jQuery.browser.version=="7.0" || jQuery.browser.version=="8.0"){
var io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />');
if(typeof uri== 'boolean'){
io.src = 'javascript:false';
}
else if(typeof uri== 'string'){
io.src = uri;
}
}
}
2、如何让ajaxfileupload.js可以在文件上传的同时传递多个台数。
找到以下代码:
[javascript] view
plaincopy
ajaxFileUpload: function(s) {
// TODO introduce global settings, allowing the client to modify them for all requests, not only timeout
s = jQuery.extend({}, jQuery.ajaxSettings, s);
var id = new Date().getTime()
var form = jQuery.createUploadForm(id, s.fileElementId);
//变化前
增加自己要传递的参数:
[javascript] view
plaincopy
ajaxFileUpload: function(s) {
// TODO introduce global settings, allowing the client to modify them for all requests, not only timeout
s = jQuery.extend({}, jQuery.ajaxSettings, s);
var id = new Date().getTime()
var form = jQuery.createUploadForm(id, s.fileElementId, s.tag_name, s.tag_link, s.tag_sort, s.tag_status, s.tag_id);//变化后
这里我们增加了五个传递参数。 s.tag_name, s.tag_link, s.tag_sort, s.tag_status, s.tag_id
接着找到:
[javascript] view
plaincopy
createUploadForm: function(id, fileElementId, tag_name, tag_link, tag_sort, tag_status, tag_id)//增加tag_name, tag_link, tag_sort, tag_status, tag_id
{
//create form
var formId = 'jUploadForm' + id;
var fileId = 'jUploadFile' + id;
//--增加以下内容
var tagNameId = 'tag_name' + id;
var tagLinkId = 'tag_link' + id;
var tagSortId = 'tag_sort' + id;
var tagStatusId = 'tag_status' + id;
var tagIdId = 'tag_id' + id;
//--end
var form = $('<form action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>');
var oldElement = $('#' + fileElementId);
var newElement = $(oldElement).clone();
//--增加以下内容
var tagNameElement = '<input type="text" name="tag_name" value="'+tag_name+'">';
var tagLinkElement = '<input type="text" name="tag_link" value="'+tag_link+'">';
var tagSortElement = '<input type="text" name="tag_sort" value="'+tag_sort+'">';
var tagStatusElement = '<input type="text" name="tag_status" value="'+tag_status+'">';
var tagIdElement = '<input type="text" name="tag_id" value="'+tag_id+'">';
//--end
$(oldElement).attr('id', fileId);
$(oldElement).before(newElement);
$(oldElement).appendTo(form);
//--增加以下的内容
$(tagNameElement).appendTo(form);
$(tagLinkElement).appendTo(form);
$(tagSortElement).appendTo(form);
$(tagStatusElement).appendTo(form);
$(tagIdElement).appendTo(form);
//--end
//set attributes
$(form).css('position', 'absolute');
$(form).css('top', '-1200px');
$(form).css('left', '-1200px');
$(form).appendTo('body');
return form;
},
注意注释中的内容为增加了内容。
修改完后,如何使用?
[javascript] view
plaincopy
$.ajaxFileUpload({
url:web_url,
secureuri:false,
//以下为增加的传递参数
tag_name:tag_name,
tag_link:tag_link,
tag_sort:tag_sort,
tag_status:tag_status,
tag_id:tag_id,
//--end
fileElementId:result[0],
dataType: 'json',
success: function (data,status){}
//以下省略
OK,done.
相关文章推荐
- 如何让ajaxfileupload.js支持IE9,IE10,并可以传递多个参数?
- ajaxfileupload.js支持IE9,IE10,并可以传递多个参数?
- ajaxFileUpload.js 无刷新上传图片,支持多个参数同时上传,支持 ie6-ie10
- ajaxFileUpload.js 无刷新上传图片,支持多个参数同时上传,支持 ie6-ie10
- ajaxfileupload.js不支持IE9,IE10的解决方案
- ajaxFileUpload.js 无刷新上传图片,支持多个参数同时上传
- ajaxFileUpload.js 无刷新上传图片,支持多个参数同时上传,支持 ie6-ie10
- 修改ajaxfileupload.js 源码 对ie9支持
- ajaxfileupload.js在IE中的支持问题
- ajaxfileupload.js在ie9中无法正常使用,有语法错误解决方案
- [原创]使用ajaxFileUpload.js上传文件时附带额外参数。
- 对象不支持“handleError”属性或方法 ajaxfileupload.js
- jquery ajaxFileUpload.js插件支持多文件上传的方法
- ajaxFileupload.js修复上传无法携带参数,返回json格式不准确问题
- ajaxfileupload传递文件及参数
- 使用ajaxfileupload.js进行文件上传,文件可以上传成功,但是不走success回调函数解决办法。
- $ajaxFileUpload可以带参数文件上传源码及使用
- ajaxfileupload的兼容IE9、IE10和中文乱码问题
- 使用ajaxfileupload.js进行文件上传,文件可以上传成功,但是不走success回调函数解决办法