/** * jQuery upload v1.2 * http://www.ponxu.com * * @author xwz */ (function($) { var noop = function(){ return true; }; var frameCount = 0; $.uploadDefault = { url: '', fileName: 'filedata', dataType: 'json', params: {}, onSend: noop, onSubmit: noop, onComplate: noop }; $.upload = function(options) { var opts = $.extend(jQuery.uploadDefault, options); if (opts.url == '') { return; } var canSend = opts.onSend(); if (!canSend) { return; } var frameName = 'upload_frame_' + (frameCount++); var iframe = $('').attr('name', frameName); var form = $('
').attr('name', 'form_' + frameName); form.attr("target", frameName).attr('action', opts.url); // form中增加数据域 var formHtml = ''; for (key in opts.params) { formHtml += ''; } form.append(formHtml); iframe.appendTo("body"); //form.appendTo("body"); form.appendTo(iframe); form.submit(opts.onSubmit); // iframe 在提交完成之后 iframe.load(function() { var contents = $(this).contents().get(0); var data = $(contents).find('body').text(); if ('json' == opts.dataType) { data = window.eval('(' + data + ')'); } opts.onComplate(data); setTimeout(function() { iframe.remove(); form.remove(); }, 5000); }); // 文件框 var fileInput = $('input[type=file][name=' + opts.fileName + ']', form); fileInput.click(); }; })(jQuery); // 选中文件, 提交表单(开始上传) var onChooseFile = function(fileInputDOM) { var form = $(fileInputDOM).parent(); form.submit(); };