基于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 相关文章推荐
javascript 特性检测并非浏览器检测
Jan 15 Javascript
js 禁止选择功能实现代码(兼容IE/Firefox)
Apr 23 Javascript
ExtJS 设置级联菜单的默认值
Jun 13 Javascript
javascript定义函数的方法
Dec 06 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
Mar 29 Javascript
JavaScript定时器详解及实例
Aug 01 Javascript
jQuery控制Div拖拽效果完整实例分析
Apr 15 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
Nov 15 Javascript
js格式化输入框内金额、银行卡号
Feb 01 Javascript
php输出全部gb2312编码内的汉字方法
Mar 04 Javascript
17道题让你彻底理解JS中的类型转换
Aug 08 Javascript
vue 子组件修改data或调用操作
Aug 07 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伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
ThinkPHP实现生成和校验验证码功能
2017/04/28 PHP
基于JQuery的访问WebService的代码(可访问Java[Xfire])
2010/11/19 Javascript
腾讯UED 漂亮的提示信息效果代码
2011/09/12 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
2014/01/22 Javascript
jQuery图片特效插件Revealing实现拉伸放大
2015/04/22 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
2017/01/05 Javascript
Vue.js鼠标悬浮更换图片功能
2017/05/17 Javascript
简单实现js轮播图效果
2017/07/14 Javascript
浅谈Vue数据响应
2018/11/05 Javascript
vue项目首屏加载时间优化实战
2019/04/23 Javascript
模块化react-router配置方法详解
2019/06/03 Javascript
对Layer弹窗使用及返回数据接收的实例详解
2019/09/26 Javascript
解决pandas无法在pycharm中使用plot()方法显示图像的问题
2018/05/24 Python
Flask框架Flask-Principal基本用法实例分析
2018/07/23 Python
python实现简单http服务器功能
2018/09/17 Python
详解用Python实现自动化监控远程服务器
2019/05/18 Python
python 画函数曲线示例
2019/12/04 Python
一文了解python 3 字符串格式化 F-string 用法
2020/03/04 Python
Python流程控制语句的深入讲解
2020/06/15 Python
Python使用tkinter实现摇骰子小游戏功能的代码
2020/07/02 Python
python rsa-oaep加密的示例代码
2020/09/23 Python
HTML5安全介绍之内容安全策略(CSP)简介
2012/07/10 HTML / CSS
美国宠物商店:Wag.com
2016/10/25 全球购物
应届毕业生专业个人求职自荐信格式
2013/11/20 职场文书
大学生党员自我批评
2014/02/14 职场文书
亚运会口号
2014/06/20 职场文书
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
2014年党风廉政建设工作总结
2014/11/19 职场文书
英文感谢信范文
2015/01/21 职场文书
党校培训学习心得体会
2016/01/06 职场文书
python urllib库的使用详解
2021/04/13 Python
Java用自带的Image IO给图片添加水印
2021/06/15 Java/Android
Java+swing实现抖音上的表白程序详解
2022/06/25 Java/Android
Win11右下角图标点了没反应怎么办?Win11点击右下角图标无反应解决方法汇总
2022/07/07 数码科技