Ajax表单提交插件jquery form
来源:互联网 发布:数据库模式怎么理解 编辑:程序博客网 时间:2024/05/22 12:06
jQuery Form插件是一个优秀的Ajax表单插件,我们可以非常容易的使用它处理表单控件的值,清空和复位表单控件,附件上传,以及完成Ajax表单提交(不用执行页面跳转)。jQuery Form有两个核心方法ajaxForm()和ajaxSubmit(),本文我们重点介绍ajaxSubmit()的应用。
查看演示DEMO下载源码
HTML
首先我们载入jquery库和jquery.form.js插件。jquery.form.js插件的官网地址:http://www.malsup.com/jquery/form/
<script type="text/javascript" src="jquery.js"></script>
<script type="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(){
var options = {
beforeSubmit: showRequest, //提交前处理
success: showResponse, //处理完成
resetForm: true,
dataType: 'json'
};
$('#my_form').submit(function() {
$(this).ajaxSubmit(options);
});
});
function showRequest(formData, jqForm, options) {
var uname = $("#uname").val();
if(uname==""){
$("#msg").html("姓名不能为空!");
return false;
}
var age = $("#age").val();
if(age==""){
$("#msg").html("年龄不能为空!");
return false;
}
$("#msg").html("正在提交...");
return true;
}
function showResponse(responseText, statusText) {
$("#msg").html('提交成功');
var sex = responseText.sex==1?"男":"女";
$("#output").html("姓名:"+responseText.uname+" 性别:"+sex+" 年龄:"+responseText.age);
}
以上代码完成了表单提交前的验证以及提交后的处理。表单数据提交到submit.php后,我们可以根据实际情况通过submit.php检测数据、将数据写入数据库,返回操作结果等等操作,本文不再列出代码。
ajaxSubmit()选项设置
ajaxSubmit()提供了丰富的选项设置,我们根据使用的可能性大小进行列表,以供参考。
属性描述urlAjax请求将要提交到该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对象。
默认值:nullsuccess表单成功提交后调用的回调函数。如果提供“success”回调函数,当从服务器返回响应后它被调用。然后由dataType选项值决定传回responseText还是responseXML的值。
默认值:nullclearForm表示如果表单提交成功是否清除表单数据。默认值:nullresetForm表示如果表单提交成功是否进行重置。默认值: null
jquery.form插件还提供了formToArray()、formSerialize()、fieldSerialize()、fieldValue()、clearForm()、clearFields() 和 resetForm()等方法。通常我们可以使用表单验证插件和jquery.form插件一起使用,效果更好。
<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 插件 Ajax 提交表单
- Ajax表单提交插件jquery form
- Ajax表单提交插件jquery form
- Ajax表单提交插件jquery form
- Jquery Ajax表单提交插件jquery form用法
- JQuery插件:jQuery.Form.js,AJAX表单提交
- jQuery ajax提交form表单
- Jquery Ajax提交form表单
- 利用jQuery Form插件实现表单的ajax提交(原创)
- 利用jQuery Form插件实现表单的ajax提交(原创)
- 使用ajax提交form表单的jquery插件
- jquery.form完美ajax表单提交插件全部代码
- jQuery.form.js是一个form插件,支持ajax表单提交和ajax文件上传。
- jquery ajax表单提交插件
- jquery form plugin( ajax表单提交 )
- jQuery Form Plugin( ajax表单提交 )
- JQUERY AJAX 提交FORM表单方式
- Jquery通过Ajax方式提交Form表单
- 【ACM训练计划】 数论、组合数学 好题精选+解题报告
- 安装piwik报错: you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribut
- Codeforces Testing Round #10 B. Balancer
- 从输入 URL 到页面加载完成的过程中都发生了什么事情?
- Single Sign-On(SSO)单点登陆的具体实现方案
- Ajax表单提交插件jquery form
- Hadoop 0.20.2+Sqoop 1.44+HBase 0.94从MySql往HDFS导入数据报错
- uinput模拟鼠标
- UVa 10550 - Combination Lock
- Android学习笔记_图片相关
- [LeetCode56]Minimum Path Sum
- Cygwin下安装pip无效的问题
- 百度云
- 抽象类理解