苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 4224|回复: 0

[Ajax] Ajax表单提交插件jquery form

[复制链接]
发表于 2015-4-30 13:03:54 | 显示全部楼层 |阅读模式
       jQuery Form插件是一个优秀的Ajax表单插件,我们可以非常容易的使用它处理表单控件的值,清空和复位表单控件,附件上传,以及完成Ajax表单提交。jQuery Form有两个核心方法ajaxForm()和ajaxSubmit(),本文我们重点介绍ajaxSubmit()的应用。
HTML

首先我们载入jquery库和jquery.form.js插件。jquery.form.js插件的官网地址:http://www.malsup.com/jquery/form/

[HTML] 纯文本查看 复制代码
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="jquery.form.min.js"></script> 

然后,我们在页面的body中加入一个简单的表单代码:

[HTML] 纯文本查看 复制代码
<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提交过程变得非常的简单。

[JavaScript] 纯文本查看 复制代码
$(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()提供了丰富的选项设置,我们根据使用的可能性大小进行列表,以供参考。

属性
描述
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,原文链接http://www.helloweba.com/view-blog-236.html



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-24 03:17

© 2014-2021

快速回复 返回顶部 返回列表