基于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 相关文章推荐
jquery之Document元素选择器篇
Aug 14 Javascript
Javascript匿名函数的一种应用 代码封装
Jun 27 Javascript
Javascript模块化编程(三)require.js的用法及功能介绍
Jan 17 Javascript
Jquery Post处理后不进入回调的原因及解决方法
Jul 15 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
Aug 26 Javascript
一个简单不报错的summernote 图片上传案例
Jul 11 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
Feb 05 Javascript
vue项目优化之通过keep-alive数据缓存的方法
Dec 11 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
Mar 15 Javascript
vue2.x集成百度UEditor富文本编辑器的方法
Sep 21 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
Jun 11 Javascript
原生js+canvas实现验证码
Nov 29 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中使用localhost连接Mysql不成功的解决方法
2014/08/20 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
Yii2增加验证码步骤详解
2016/04/25 PHP
php实现头像上传预览功能
2017/04/27 PHP
js switch case default 的用法示例介绍
2013/10/23 Javascript
JS实现控制表格内指定单元格内容对齐的方法
2015/03/30 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
2015/12/04 Javascript
javascript动态添加checkbox复选框的方法
2015/12/23 Javascript
Three.js学习之Lamber材质和Phong材质
2016/08/04 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
2017/08/31 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
2019/06/10 Javascript
微信小程序image图片加载完成监听
2019/08/31 Javascript
JavaScript中ES6规范中let和const的用法和区别
2020/08/06 Javascript
node.js文件的复制、创建文件夹等相关操作
2021/02/05 Javascript
Django小白教程之Django用户注册与登录
2016/04/22 Python
Python数据类型详解(一)字符串
2016/05/08 Python
python实现分页效果
2017/10/25 Python
Mac中Python 3环境下安装scrapy的方法教程
2017/10/26 Python
Python 3.8正式发布重要新功能一览
2019/10/17 Python
Python猴子补丁Monkey Patch用法实例解析
2020/03/23 Python
5 分钟读懂Python 中的 Hook 钩子函数
2020/12/09 Python
利用CSS3实现折角效果实例源码
2016/09/28 HTML / CSS
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
2013/05/29 面试题
学校岗位设置方案
2014/01/16 职场文书
中专自我鉴定
2014/02/05 职场文书
人大代表选举标语
2014/10/07 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
倡议书作文
2015/01/19 职场文书
道歉短信大全
2015/05/12 职场文书
大学班长竞选稿
2015/11/20 职场文书
小学生作文写作技巧100例,非常实用!
2019/07/08 职场文书
使用Nginx的访问日志统计PV与UV
2022/05/06 Servers
python解析照片拍摄时间进行图片整理
2022/07/23 Python