ajaxSubmit()提交表单
作者:
秒速五厘米
1.表单提交
submit() 方法触发 submit 事件,或规定当发生 submit 事件时运行的函数。$(selector).submit(function)
使用 preventDefault() 函数来阻止对表单的提交。
ajaxSubmit()提交表单,使用第三方插件jquery.form实现;
通常情况下,我们直接通过form提交的话, 提交后当前页面跳转到form的action所指向的页面。然而,很多时候我们比不希望提交表单后页面跳转,那么,我们就可以使用ajaxSubmit(obj)来提交数据。
$('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; // 阻止表单自动提交事件,必须返回false,否则表单会自己再做一次提交操作,并且页面跳转 }); });
如果要提交之后返回数据再触发ajax异步交互(实际就是一个按钮触发两个事件,后一个事件要等前一个事件完成的情况才触发)
$("#uploadImage").on("submit",function () { //触发form表单提交,url写在form标签 $("#uploadImage").ajaxSubmit(options); // form表单提交后触发 return false; // 必须返回false,否则表单会自己再做一次提交操作,并且页面跳转 }); var options = { //target: '#picSrc', //把服务器返回的内容放入id为picSrc的元素中 //beforeSubmit: function({ }), //提交前的回调函数 success:function (backData) { //提交后的回调函数 var sendData={ "srcImageFile":backData.serviceIcon, "result":backData.serviceIcon, }; $.ajax({ url:"/Wisdom/smartCampus/service/cutPicture",//交互地址 type:"post",//方法 //dataType:"json", contentType:"application/json",//头部 data:JSON.stringify(sendData),//数据 success:function (backData) { $("#uploadImage").resetForm();//重置表单 } }) }, timeout: 3000 //限制请求的时间,当请求大于3秒后,跳出请求 };