资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

jquery.form,jqueryformjs 报错 beforesend

在jQuery中直接提交表单后怎么获取返回值

你好!

萧县ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

可以通过jquery.form.js来解决。

form

标题:input type="text" name="title" /br /

内容:textarea name="content"textarea/br /

button提交/button

/form

$('button').on('click', function() {

$('form').on('submit', 

function() {

var title = $('inpur[name=title]').val(),

content = $('textarea').val();

$(this).ajaxSubmit({

type: 'post', // 提交方式 get/post

url: 'your url', // 需要提交的 url

data: {

'title': title,

'content': content

},

success: function(data) { 

// data 保存提交后返回的数据,一般为 json 数据

// 此处可对 data 作相关处理

alert('提交成功!');

}

$(this).resetForm(); // 提交后重置表单

});

return false; // 阻止表单自动提交事件 

}

);

});

希望对你有帮助!

如何用jqueryajax请求form表单

第一步:引用js

!--这里的min是自己用js压缩工具对完整版进行的压缩

并不是真正的min,所以好使--

script type="text/javascript" src="js/jquery-1.7.min.js"/script

script type="text/javascript" src="js/jquery.form.js"/script

第二步:页面写form

form id="showDataForm" 

action="/024pm/f_shopUser.do?method=login" method="post"

input type="text" value="" name="name" maxlength="2"/

input type="password" value="" name="password" maxlength="2"/

input type="submit" value="提交"/

/form

div id="output1" 

style="width:1000px;height:200px;"

/div

第三步:写js调用jquery.form.js,对form表单进行ajax提交

$(document).ready(function() {

var options = {

target: '#output1',

// 从服务传过来的数据显示在这个div内部

也就是ajax局部刷新

beforeSubmit: showRequest,

// ajax提交之前的处理

success:  showResponse

// 处理之后的处理

};

$('#showDataForm').submit(function() {

$(this).ajaxSubmit(options);

return false; 

//非常重要,如果是false,则表明是不跳转

//在本页上处理,也就是ajax,如果是非false,则传统的form跳转。

});

});

function showResponse(responseText, statusText, xhr, $form) {

alert(xhr.responseText+"=="+$form.attr("method")+'status: ' + 

statusText + '\n\nresponseText: \n' + responseText);

//xhr:说明你可以用ajax来自己再次发出请求

//$form:是那个form对象,是一个jquery对象

//statusText:状态,成功则为success

//responseText,服务器返回的是字符串(当然包括html,不包括json)

}

function showRequest(formData, jqForm, options) {

//formData是数组,就是各个input的键值map数组

//通过这个方法来进行处理出来拼凑出来字符串。

//formData:拼凑出来的form字符串,比如name=herapassword,

//其实就是各个表单中的input的键值对,

//如果加上method=XXXX,那也就是相当于ajax内的data。

var queryString = $.param(formData);

alert(queryString+"======"+formData.length);

for (var i=0; i  formData.length; i++) {

alert(formData[i].value+"==============="+formData[i].name);

}

//jqForm,jquery form对象

var formElement = jqForm[0];

alert($(formElement).attr("method"));

alert($(jqForm[0].name).attr("maxlength"));

//非常重要,返回true则说明在提交ajax之前你验证

//成功,则提交ajax form

//如果验证不成功,则返回非true,不提交

return true;

}

options对象内的值有哪些?

var options = {

target: '#output1', 

data:{param1:"我自己的第一个额外的参数"},

//这个参数是指通过ajax来给服务器提交除了form内部input的参数

//在后台中使用String param1=req.getParameter("param1");获取。

// dataType: null,

dataType:'json',

//这个参数值的是服务器返回的数据类型,默认的是null

//也就是服务器可以默认返回字符串,然后将这些字符串放在target内部

//当然还有json、xml,其中最常用的便是null和json

//对于span style="color: #333333;"a href="" target="_blank"span style="color: #333333;"json/span/a/span的使用,我们会稍后讲解到

beforeSubmit: showRequest,

success:  successRes,

type:'POST'

//提交方式,默认是自己在form标签上指定的method

//如果没有指定,则使用get。

url:''

//重新提交的url,即url可以在form中配置

//也可以在这里配置。

};

jquery.form提交后如何获取数据

$("form").serializearray();

serializearray()方法

格式:var

jsondata

=

$("form").serializearray();

功能:将页面表单序列化成一个json结构的对象。注意不是json字符串。

比如,[{"name":"lihui",

"age":"20"},{...}]

获取数据为

jsondata[0].name

然后对jsondata对象追加数据也可以哦。

使用jquery.form.js实现文件上传及进度条前端代码

ajax的表单提交只能提交data数据到后台,没法实现file文件的上传还有展示进度功能,这里用到form.js的插件来实现,搭配css样式简单易上手,而且高大上,推荐使用。

需要解释下我的结构, #upload-input-file 的input标签是真实的文件上传按钮,包裹form标签后可以实现上传功能, #upload-input-btn 的button标签是展示给用户的按钮,因为需要样式的美化。上传完成生成的文件名将会显示在 .upload-file-result 里面, .progress 是进度条的位置,先让他隐藏加上 hidden 的class, .progress-bar 是进度条的主体, .progress-bar-status 是进度条的文本提醒。

去掉hidden的class,看到的效果是这样的

[图片上传失败...(image-2c700a-1548557865446)]

将上传事件绑定在file的input里面,绑定方式就随意了。

var progress = $(".progress-bar"), status = $(".progress-bar-status"), percentVal = '0%'; //上传步骤 $("#myupload").ajaxSubmit({ url: uploadUrl, type: "POST", dataType: 'json', beforeSend: function () { $(".progress").removeClass("hidden"); progress.width(percentVal); status.html(percentVal); }, uploadProgress: function (event, position, total, percentComplete) { percentVal = percentComplete + '%'; progress.width(percentVal); status.html(percentVal); console.log(percentVal, position, total); }, success: function (result) { percentVal = '100%'; progress.width(percentVal); status.html(percentVal); //获取上传文件信息 uploadFileResult.push(result); // console.log(uploadFileResult); $(".upload-file-result").html(result.name); $("#upload-input-file").val(''); }, error: function (XMLHttpRequest, textStatus, errorThrown) { console.log(errorThrown); $(".upload-file-result").empty(); } });

[图片上传失败...(image-3d6ae0-1548557865446)]

[图片上传失败...(image-9f0adf-1548557865446)]

更多用法可以 参考官网


当前标题:jquery.form,jqueryformjs 报错 beforesend
网页网址:http://cdkjz.cn/article/dsdgoos.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220