基于jQuery通过jQuery.form.js插件使用ajax提交form表单


Posted in Javascript onAugust 17, 2015

我们在提交表单的时候,如果没有使用ajax提交,页面都会自己刷新一下,显得非常的不友好,所以我们需要把我们的表单提交修改为ajax的模式,可以让用户清楚地知道他们在提交表单的时候处在哪一个阶段:正在提交?提交成功?

我简单使用了一下,jQuery Form插件有一下优点:

1.支持提交前验证.

2.支持提交后回调.

3.采用AJAX方式,有很好的用户体验

4.提交方式是灵活.只要指定要提交的form ID即可.想提交那个form.就可提交那个.同时提交参数可配置.

5.支持提交多种类型数据.如:xml,json等.

主要的函数:

1.ajaxForm

增加所有需要的事件监听器,为AJAX提交表单做好准备。ajaxForm不能提交表单。在document的ready函数中,使用ajaxForm来为AJAX提交表单进行准备。ajaxForm接受0个或1个参数。这个单个的参数既可以是一个回调函数,也可以是一个Options对象。

实例:

$('#myFormId').ajaxForm();

2.ajaxSubmit

马上由AJAX来提交表单。大多数情况下,都是调用ajaxSubmit来对用户提交表单进行响应。ajaxSubmit接受0个或1个参数。这个单个的参数既可以是一个回调函数,也可以是一个Options对象。

实例:

// 绑定表单提交事件处理器
$('#myFormId').submit(function() {
// 提交表单
$(this).ajaxSubmit();
// 为了防止普通浏览器进行表单提交和产生页面导航(<span style="color: #333333;"><a href="http://www.100sucai.com/web/jquerytexiao/huandengpian" target="_blank"><span style="color: #333333;">防止页面刷新</span></a></span>?)返回false
return false;
});

3.formSerialize

将表单串行化(或序列化)成一个查询字符串。这个方法将返回以下格式的字符串:name1=value1&name2=value2。这个方法返回一个字符串。

实例:

var queryString = $('#myFormId').formSerialize();
// 现在可以使用$.get、$.post、$.ajax等来提交数据
$.post('myscript.php', queryString);

4.fieldSerialize

将表单的字段元素串行化(或序列化)成一个查询字符串。当只有部分表单字段需要进行串行化(或序列化)时,这个就方便了。这个方法将返回以下格式的字符串:name1=value1&name2=value2。这个方法返回一个字符串。

实例:

var queryString = $('#myFormId .specialFields').fieldSerialize();

5.fieldValue

返回匹配插入数组中的表单元素值。从0.91版起,该方法将总是以数组的形式返回数据。如果元素值被判定可能无效,则数组为空,否则它将包含一个或多于一个的元素值。该方法返回数组。

实例:

// 取得密码输入值
var value = $('#myFormId :password').fieldValue(); 
alert('The password is: ' + value[0]);

6.resetForm

通过调用表单元素原有的DOM方法,将表单恢复到初始状态。
实例:

$('#myFormId').resetForm();

7.clearForm

清除表单元素。该方法将所有的文本(text)输入字段、密码(password)输入字段和文本区域(textarea)字段置空,清除任何select元素中的选定,以及将所有的单选(radio)按钮和多选(checkbox)按钮重置为非选定状态。

实例:

$('#myFormId').clearForm();

8.clearFields

清除字段元素。只有部分表单元素需要清除时才方便使用。

实例:

$('#myFormId .specialFields').clearFields();

jQuery Form插件的简单示例:

<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>My Jquery</title>
  <script type="text/javascript" src="<%=request.getContextPath()%>/jslib/jquery-1.4.2.js"></script>
  <script type="text/javascript" src="<%=request.getContextPath()%>/jslib/jquery.form.js"></script>
  <script type="text/javascript"> 
  // wait for the DOM to be loaded
    $(document).ready(function() { 
     // bind 'myForm' and provide a simple callback function
      $('#myForm').ajaxForm(function() { 
        alert("Thank you for your comment!"); 
      }); 
    }); 
    // attach handler to form's submit event 
    $('#myFormId').submit(function() {   
     // submit the form   
     $(this).ajaxSubmit();   
     // return false to prevent normal browser submit and page navigation   
     return false; 
    });
  </script>
</head>
<body>
  <form id="myForm" action="index.jsp" method="post">
  Name: <input type="text" name="name" />
  Comment:<textarea name="comment"></textarea>
  <input type="submit" value="Submit Comment" />
  </form>
</body>
</html>

通过本文详细介绍了jQuery通过jQuery.form.js插件使用ajax提交form表单,希望大家喜欢。

Javascript 相关文章推荐
W3C Group的JavaScript1.8 新特性介绍
May 19 Javascript
json-lib出现There is a cycle in the hierarchy解决办法
Feb 24 Javascript
容易造成JavaScript内存泄露几个方面
Sep 04 Javascript
JavaScript 基本概念
Jan 20 Javascript
基于JavaScript获取鼠标位置的各种方法
Dec 16 Javascript
Bootstrap3 内联单选和多选框
Dec 29 Javascript
AngularJS实现页面定时刷新
Mar 14 Javascript
Bootstrap超大屏幕的实现代码
Mar 22 Javascript
js-FCC算法-No repeats please字符串的全排列(详解)
May 02 Javascript
详解ES6语法之可迭代协议和迭代器协议
Jan 13 Javascript
react router4+redux实现路由权限控制的方法
May 03 Javascript
JS模拟浏览器实现全局搜索功能
Sep 11 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
Aug 17 #Javascript
D3.js中data(), enter() 和 exit()的问题详解
Aug 17 #Javascript
关于js里的this关键字的理解
Aug 17 #Javascript
Nginx上传文件全部缓存解决方案
Aug 17 #Javascript
jQuery幻灯片带缩略图轮播效果代码分享
Aug 17 #Javascript
javascript中 try catch用法
Aug 16 #Javascript
javascript中undefined与null的区别
Aug 16 #Javascript
You might like
php下过滤HTML代码的函数
2007/12/10 PHP
解析PHP获取当前网址及域名的实现代码
2013/06/23 PHP
php文件夹与文件目录操作函数介绍
2013/09/09 PHP
教你如何使用php session
2013/10/28 PHP
PHP内核探索:变量存储与类型使用说明
2014/01/30 PHP
比较详细的关于javascript中void(0)的具体含义解释
2007/08/02 Javascript
关于JavaScript中的关联数组分析
2013/04/09 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
2014/04/12 Javascript
js文件包含的几种方式介绍
2014/09/28 Javascript
FF(火狐)浏览器无法执行window.close()解决方案
2014/11/13 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
JS实现网页上随机产生超链接地址的方法
2015/11/09 Javascript
JS组件系列之Bootstrap Icon图标选择组件
2016/01/28 Javascript
微信小程序 获取相册照片实例详解
2016/11/16 Javascript
js实现增加数字显示的环形进度条效果
2017/02/05 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
ES6数组的扩展详解
2017/04/25 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
Angularjs验证用户输入的字符串是否为日期时间
2017/06/01 Javascript
Python计算程序运行时间的方法
2014/12/13 Python
Python基于Tkinter的HelloWorld入门实例
2015/06/17 Python
在Django中同时使用多个配置文件的方法
2015/07/22 Python
python实现电脑自动关机
2018/06/20 Python
python join方法使用详解
2019/07/30 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
Python with标签使用方法解析
2020/01/17 Python
企划专员岗位职责
2013/12/09 职场文书
失业者真诚求职信范文
2013/12/25 职场文书
超市重阳节活动方案
2014/02/10 职场文书
奥利奥广告词
2014/03/20 职场文书
教师党员一句话承诺
2014/03/28 职场文书
文明班集体申报材料
2014/05/23 职场文书
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书
再见,2019我们不负使命;你好,2020我们砥砺前行
2020/01/03 职场文书
画错魏国疆域啦!《派对咖孔明》动画因作画失误于官网致歉
2022/04/07 日漫