jQuery Form插件是一个优秀的Ajax表单插件,我们可以非常容易的使用它处理表单控件的值,清空和复位表单控件,附件上传,以及完成Ajax表单提交(不用执行页面跳转)。jQuery Form有两个核心方法ajaxForm()和ajaxSubmit(),本文我们重点介绍ajaxSubmit()的应用。
查看演示DEMO下载源码
HTML
首先我们载入jquery库和jquery.form.js插件。jquery.form.js插件的官网地址:http://www.malsup.com/jquery/form/
<scripttype="text/javascript"src="jquery.js"></script>
<scripttype="text/javascript"src="jquery.form.min.js"></script>
然后,我们在页面的body中加入一个简单的表单代码:
<form id="my_form" action="submit.php" method="post">
<p>姓名:<input type="text" name="uname" id="uname" class="input"></p>
<p>性别:
<input type="radio" name="sex" value="1" checked> 男
<input type="radio" name="sex" value="2"> 女
</p>
<p>年龄:<input type="text" name="age" id="age" class="input" style="width:50px"></p>
<p style="margin-left:30px">
<input type="submit" class="btn" value="提交">
<span id="msg"></span>
</p>
</form>
<div id="output"></div>
表单中,要求输入姓名、性别和年龄,然后提交到submit.php处理,通常情况下,点击“提交”按钮后,页面会转到submit.php处理表单数据,而我们使用jquery.form插件后,页面并不会跳转,直接完成了一个ajax交互。
jQuery
我们很方便的调用jquery.form插件,利用ajaxSubmit()使得整个表单的ajax提交过程变得非常的简单。
$(function(){
varoptions={
beforeSubmit:showRequest,
success:showResponse,
resetForm:true,
dataType:'json'
};
$('#my_form').submit(function(){
$(this).ajaxSubmit(options);
});
});
functionshowRequest(formData,jqForm,options){
varuname=$("#uname").val();
if(uname==""){
$("#msg").html("姓名不能为空!");
returnfalse;
}
varage=$("#age").val();
if(age==""){
$("#msg").html("年龄不能为空!");
returnfalse;
}
$("#msg").html("正在提交...");
returntrue;
}
functionshowResponse(responseText,statusText){
$("#msg").html('提交成功');
varsex=responseText.sex==1?"男":"女";
$("#output").html("姓名:"+responseText.uname+"性别:"+sex+"年龄:"+responseText.age);
}
以上代码完成了表单提交前的验证以及提交后的处理。表单数据提交到submit.php后,我们可以根据实际情况通过submit.php检测数据、将数据写入数据库,返回操作结果等等操作,本文不再列出代码。
ajaxSubmit()选项设置
ajaxSubmit()提供了丰富的选项设置,我们根据使用的可能性大小进行列表,以供参考。
属性 |
描述 |
url |
Ajax请求将要提交到该url,默认是表单的action属性值 |
type |
指定提交表单数据的方法(method):“GET”或“POST”。默认值:表单的method属性值(如果没有找到默认为“GET”)。 |
dataType |
期望返回的数据类型。null、“xml”、“script”或者“json”其中之一。dataType提供一种方法,它规定了怎样处理服务器的响应。这个被直接地反映到jQuery.httpData方法中去。下面的值被支持:
'xml':如果dataType == 'xml',将把服务器响应作为XML来对待。同时,如果“success”回调方法被指定, 将传回responseXML值。
'json':如果dataType == 'json', 服务器响应将被求值,并传递到“success”回调方法,如果它被指定的话。。
'script':如果dataType == 'script', 服务器响应将求值成纯文本。。
默认值:null(服务器返回responseText值) |
target |
指明页面中由服务器响应进行更新的元素。元素的值可能被指定为一个jQuery选择器字符串,一个jQuery对象,或者一个DOM元素。
默认值:null。 |
beforeSubmit |
表单提交前被调用的回调函数。“beforeSubmit”回调函数作为一个钩子(hook),被提供来运行预提交逻辑或者校验表单数据。如果“beforeSubmit”回调函数返回false,那么表单将不被提交。“beforeSubmit”回调函数带三个调用参数:数组形式的表单数据,jQuery表单对象,以及传入ajaxForm/ajaxSubmit中的Options对象。
默认值:null |
success |
表单成功提交后调用的回调函数。如果提供“success”回调函数,当从服务器返回响应后它被调用。然后由dataType选项值决定传回responseText还是responseXML的值。
默认值:null |
clearForm |
表示如果表单提交成功是否清除表单数据。默认值:null |
resetForm |
表示如果表单提交成功是否进行重置。默认值: null |
jquery.form插件还提供了formToArray()、formSerialize()、fieldSerialize()、fieldValue()、clearForm()、clearFields() 和 resetForm()等方法。通常我们可以使用表单验证插件和jquery.form插件一起使用,效果更好。
声明:本文为原创文章,helloweba.com和作者拥有版权,如需转载,请注明来源于
helloweba.com并保留原文链接,否则视为侵权。
<script type="text/javascript">
$(function() {
$('#form1').ajaxForm({
dataType:'text',
success:function(msg) { //提交表单成功之后的回调函数----后台控制器操作完毕后执行一句:echo 'succ';die;
if(msg=='succ'){
alert('操作成功');
window.location.href='/member/hudong'; //点击【确定】之后,跳转向此链接
}else{
alert(msg);
}
},
});
});
</script>
<form id="form1" method="post" action="/member/hudong/add_rote">
表单内容...
</form>
分享到:
相关推荐
使用jQuery.form插件,实现完美的表单异步提交
jQuery Form Plugin能够让你简洁的将...插件里面主要的方法, ajaxForm和ajaxSubmit,能够从form组件里采集信息确定如何处理表单的提交过程。 两个方法都支持众多的可选参数,能够让你对表单里数据的提交做到完全的控制。
Ajax表单提交,用 jquery.form.js SDK 封装好的ajaxSubmit
表单进行无刷新提交,ajax技术 if (!this.length) { log('ajaxSubmit: skipping submit process - no element selected'); return this; } var method, action, url, $form = this; if (typeof options == ...
该资源包含了一个使用jquery提交表单的代码,简单易懂,喜欢的下载。
jQuery.form.js是一个form插件,支持ajax表单提交和ajax文件上传.
利用jquery的ajax提交表单数据到后台。后台使用spring.
JQuery打造PHP的AJAX表单提交实例
jquery.js + jquery-form.js + springMVC实现ajax提交form表单和上传图片,上传图片成功js可以获取图片保存相对路径。
本文实例讲述了jQuery ajax提交Form表单的方法。分享给大家供大家参考,具体如下: Jquery的$.ajax方法可以实现ajax调用,要设置url,post,参数等。 如果要提交现有Form需要写很多代码,何不直接将Form的提交直接转移...
jquery.form.js,这是一个jquery插件,jquery的ajax无法提交图片,而这个插件可以完美解决,使用方法,将该文件放到jquery后面引入:$('#order_form').ajaxForm(function(a) { var b = eval("(" + a + ")"); alert...
主要介绍了jquery.form.js实现将form提交转为ajax方式提交的方法,涉及jQuery插件实现form表单的Ajax提交技巧,非常具有实用价值,需要的朋友可以参考下
用Jquery的Ajax提交整个表单,我用的1.3.2的版本。
利用 jquery.form.js插件,php提交信息,ajax提交,里面包含了上传文件的类,以及生成缩略图,保存到数据库省略了这一步,大家可以根据自己的项目进行修改。前后台大家自行完善,这是一个实例。
用jquery动态添加表单,通过jquery.form来ajax提交来批量上传图片
ajaxForm()和ajaxSubmit()方法可以接受0个或1个参数,当为单个参数时,该参数可以是一个回调函数,也可以是一个options对象。以下是一个options对象. var options={ target:'#output1', //把服务器返回内容放入id为...
我们在提交表单的时候,如果没有使用ajax提交,页面都会自己刷新一下,显得非常的不友好,所以我们需要把我们的表单提交修改为ajax的模式,可以让用户清楚地知道他们在提交表单的时候处在哪一个阶段:正在提交?提交...
input type="button" id="btn" value="提交"> </form> [removed][removed] [removed] var form = $('#form')[0]; // 获取到表单的DOM对象形式 $('#btn').on('click', function () { // 1 使用...
Jquery validate和form两个插件,完美进行表单验证和Ajax无刷新方式提交form表单,很有用的哦。