加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

html 提交表单,图片和文字一起提交,图片存入服务器,图片地址

发布时间:2020-12-24 17:37:39 所属栏目:资源 来源:网络整理
导读:html pre class="has" !DOCTYPE html head meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no,minimum-scale=1.0,maximum-scale=1.0" / meta charset="UTF-8"gt; titleTitle/title script src="https://ajax.aspnetcdn.

// fast fail if nothing selected (http://dev.jquery.com/ticket/2752)
if (!this.length) {
log('ajaxSubmit: skipping submit process - no element selected');
return this;
}

var method,action,url,$form = this;

if (typeof options == 'function') {
options = { success: options };
}
else if ( options === undefined ) {
options = {};
}

method = options.type || this.attr2('method');
action = options.url || this.attr2('action');

url = (typeof action === 'string') ? $.trim(action) : '';
url = url || window.location.href || '';
if (url) {
// clean url (don't include hash vaue)
url = (url.match(/^([^#]+)/)||[])[1];
}

options = $.extend(true,{
url: url,success: $.ajaxSettings.success,type: method || $.ajaxSettings.type,iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank'
},options);

// hook for manipulating the form data before it is extracted;
// convenient for use with rich editors like tinyMCE or FCKEditor
var veto = {};
this.trigger('form-pre-serialize',[this,options,veto]);
if (veto.veto) {
log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
return this;
}

// provide opportunity to alter form data before it is serialized
if (options.beforeSerialize && options.beforeSerialize(this,options) === false) {
log('ajaxSubmit: submit aborted via beforeSerialize callback');
return this;
}

var traditional = options.traditional;
if ( traditional === undefined ) {
traditional = $.ajaxSettings.traditional;
}

var elements = [];
var qx,a = this.formToArray(options.semantic,elements);
if (options.data) {
options.extraData = options.data;
qx = $.param(options.data,traditional);
}

// give pre-submit callback an opportunity to abort the submit
if (options.beforeSubmit && options.beforeSubmit(a,this,options) === false) {
log('ajaxSubmit: submit aborted via beforeSubmit callback');
return this;
}

// fire vetoable 'validate' event
this.trigger('form-submit-validate',[a,veto]);
if (veto.veto) {
log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
return this;
}

var q = $.param(a,traditional);
if (qx) {
q = ( q ? (q + '&' + qx) : qx );
}
if (options.type.toUpperCase() == 'GET') {
options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;
options.data = null; // data is null for 'get'
}
else {
options.data = q; // data is the query string for 'post'
}

var callbacks = [];
if (options.resetForm) {
callbacks.push(function() { $form.resetForm(); });
}
if (options.clearForm) {
callbacks.push(function() { $form.clearForm(options.includeHidden); });
}

// perform a load on the target only if dataType is not provided
if (!options.dataType && options.target) {
var oldSuccess = options.success || function(){};
callbacks.push(function(data) {
var fn = options.replaceTarget ? 'replaceWith' : 'html';
$(options.target)fn.each(oldSuccess,arguments);
});
}
else if (options.success) {
callbacks.push(options.success);
}

options.success = function(data,status,xhr) { // jQuery 1.4+ passes xhr as 3rd arg
var context = options.context || this ; // jQuery 1.4+ supports scope context
for (var i=0,max=callbacks.length; i < max; i++) {
callbacks[i].apply(context,[data,xhr || $form,$form]);
}
};

if (options.error) {
var oldError = options.error;
options.error = function(xhr,error) {
var context = options.context || this;
oldError.apply(context,[xhr,error,$form]);
};
}

if (options.complete) {
var oldComplete = options.complete;
options.complete = function(xhr,status) {
var context = options.context || this;
oldComplete.apply(context,$form]);
};
}

// are there files to upload?

// [value] (issue #113),also see comment:
// https://github.com/malsup/form/commit/588306aedba1de01388032d5f42a60159eea9228#commitcomment-2180219
var fileInputs = $('input[type=file]:enabled',this).filter(function() { return $(this).val() !== ''; });

var hasFileInputs = fileInputs.length > 0;
var mp = 'multipart/form-data';
var multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp);

var fileAPI = feature.fileapi && feature.formdata;
log("fileAPI :" + fileAPI);
var shouldUseFrame = (hasFileInputs || multipart) && !fileAPI;

var jqxhr;

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读