jQuery-Form

概观

jQuery表单插件允许您轻松而不显眼地升级HTML表单以使用AJAX。主要方法ajaxForm和ajaxSubmit从表单元素收集信息以确定如何管理提交过程。这两种方法都支持多种选项,使您可以完全控制数据的提交方式。 不需要特殊的标记,只是一个正常的形式。用AJAX提交表单并不容易!

兼容性

  • 需要jQuery 1.7.2或更高版本。
  • 与jQuery 2兼容。
  • 部分与jQuery 3兼容。
  • 与jQuery 3 Slim 不兼容。(问题#544

下载

CDN

< script  src = “ https://cdnjs.cloudflare.com/ajax/libs/jquery.form/4.2.2/jquery.form.min.js ”  integrity = “ sha384-FzT3vTVGXqf7wRfy8k4BiyzvbNfeYjK + frTVqZeNDFl8woCbF0CYG6g2fMEFFo / i ”  crossorigin = “ anonymous “ > </ script >
< script  src = “ https://cdn.jsdelivr.net/gh/jquery-form/form@4.2.2/dist/jquery.form.min.js ”  integrity = “ sha384-FzT3vTVGXqf7wRfy8k4BiyzvbNfeYjK + frTVqZeNDFl8woCbF0CYG6g2fMEFFo / i ”  crossorigin = “ anonymous ” > </ script >

API

jqXHR

jqXHR对象在每次 调用后都使用键存储在元素数据缓存中。它可以像这样访问:jqxhrajaxSubmit

var form =  $(' #myForm ')。ajaxSubmit({ / * options * / });
var xhr =  form。数据(' jqxhr '); xhr。done(function(){
 ... 
});

ajaxForm(选项)

通过添加所有必要的事件侦听器来准备要通过AJAX提交的表单。它并没有提交表单。ajaxForm在您的文档ready函数中使用,为现有的AJAX提交表单准备,或者delegation选择处理尚未添加到DOM的表单。

当你希望插件为你管理所有的事件绑定时使用ajaxForm。

//为ajax提交
$( ' form ')准备所有表单。ajaxForm({
target : ' #myResultsDiv ' 
});
ajaxSubmit(选项)

立即通过AJAX提交表单。在最常见的用例中,这是为了响应用户单击表单上的提交按钮而调用的。如果要将自己的提交处理程序绑定到表单,请使用ajaxSubmit。

//绑定提交处理程序以形成
$( ' form ')。在( '提交',函数( ē){
 É。的preventDefault(); //防止本地提交
$(本)。 ajaxSubmit会({
目标: ' myResultsDiv '
})
});

选项

注意:可以使用所有标准的$ .ajax选项。

beforeSerialize

表单序列化之前调用的回调函数。提供了在检索其值之前操作表单的机会。false从回调中返回将阻止提交表单。这个回调函数有两个参数:jQuery封装的表单对象和options对象。

beforeSerialize : function($ form,options){
     //返回false取消提交 
}

beforeSubmit

表单提交前调用的回调函数。false从回调中返回将阻止提交表单。回调函数有三个参数:数组格式的表单数据,jQuery包装的表单对象和选项对象。

beforeSubmit : function(arr,$ form,options){
     //表单数据数组是具有名称和值属性的对象数组
    // name {'name',value:'jresig'},{name:'password' ,value:'secret'}] 
    //返回false取消提交 
}

filtering

在处理字段之前调用回调函数。这提供了一种过滤元素的方法。

filtering: function(el, index) {
    if ( !$(el).hasClass('ignore') ) {
        return el;
    }
}

clearForm

布尔标志,指示如果提交成功,表单是否应该被清除

数据

包含应与表单一起提交的额外数据的对象。

data: { key1: 'value1', key2: 'value2' }

数据类型

预期的响应数据类型。其中之一:null,'xml','script'或'json'。dataType选项提供了一种指定应如何处理服务器响应的方法。这直接映射到jQuery的dataType方法。支持以下值:

  • 'xml':服务器响应被视为XML,'success'回调方法(如果指定)将被传递给responseXML值

  • 'json':服务器响应将被评估并传递给'成功'回调,如果指定的话

  • '脚本':服务器响应在全局上下文中进行评估

delegation

true to enable support for event delegation requires jQuery v1.7+

// prepare all existing and future forms for ajax submission
$('form').ajaxForm({
    delegation: true
});

error

Deprecated
Callback function to be invoked upon error.

forceSync

只适用于明确使用iframe选项或者在不支持XHR2的浏览器上上传文件的情况。设置为true在上传文件时删除发布表单之前的短暂延迟。延迟用于允许浏览器在执行本地表单提交之前呈现DOM更新。当向用户显示通知时,这提高了可用性,例如“Please Wait ...”

Utility Methods

formSerialize

将表单序列化为查询字符串。这个方法将返回格式如下的字符串:name1=value1&name2=value2

var queryString =  $(' #myFormId ').formSerialize();

fieldSerialize

将字段元素序列化为查询字符串。当你只需要序列化一部分表单时这很方便。这个方法将返回格式如下的字符串:name1=value1&name2=value2

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

fieldValue方法

返回数组中匹配集中元素的值。这个方法总是返回一个数组。如果无法确定有效值,则数组将为空,否则将包含一个或多个值。

重置表格

通过调用表单元素的本地DOM方法将表单重置为其原始状态。

clearForm

清除表单元素。此方法清空所有文本输入,密码输入和textarea元素,清除所有选择元素中的选择,并取消选中所有无线电和复选框输入。它并不能清除隐藏字段值。

clearFields

清除选定的字段元素。当你只需要清除表格的一部分时,这很方便。

文件上传

表单插件支持在支持这些功能的浏览器上使用XMLHttpRequest Level 2和FormData对象。截至今天(2012年3月),包括Chrome,Safari和Firefox。在这些浏览器(以及未来的Opera和IE10)上,文件上传将通过XHR对象无缝地进行,并且在上载过程中进度更新可用。对于较老的浏览器,使用涉及iframe的回退技术。

查看原文:http://www.coder306.cn/?p=193

jquery-form详解的更多相关文章

  1. jQuery.validator 详解二

    前言:上一篇详细的介绍了jQuery.validator( 版本v1.13.0 )的验证规则,这一篇重点讲述它的源码结构,及如何来对元素进行验证,错误消息提示的内部实现 一.插件结构(组织方式) 在讲 ...

  2. jQuery.validator 详解

    jQuery.validator 详解二 前言:上一篇详细的介绍了jQuery.validator( 版本v1.13.0 )的验证规则,这一篇重点讲述它的源码结构,及如何来对元素进行验证,错误消息提示 ...

  3. Jquery 选择器 详解 js 判断字符串是否包含另外一个字符串

    Jquery 选择器 详解   在线文档地址:http://tool.oschina.net/apidocs/apidoc?api=jquery 各种在线工具地址:http://www.ostools ...

  4. jQuery:详解jQuery中的事件(二)

    上一篇讲到jQuery中的事件,深入学习了加载DOM和事件绑定的相关知识,这篇主要深入讨论jQuery事件中的合成事件.事件冒泡和事件移除等内容. 接上篇jQuery:详解jQuery中的事件(一) ...

  5. jquery方法详解

    jquery方法详解 http://www.365mini.com/doc

  6. [转载]JavaEE学习篇之——JQuery技术详解

    原文链接:http://blog.csdn.net/jiangwei0910410003/article/details/32102187 1.简介2.工具3.jQuery对象 1.DOM对象转化成j ...

  7. J2EE学习篇之--JQuery技术详解

    前面我们讲解了的J2EE的技术都是服务端的技术,下面我们来看一下前端的一些开发技术,这一篇我们来看一下jQuery技术 简介: jQuery由美国人John Resig创建,至今已吸引了来自世界各地的 ...

  8. JQuery数组详解(含实例)

    <!doctype html>jQuery数组处理详解(含实例演示)@Mr.Think 演示所用数组 var _mozi=['墨家','墨子','墨翟','兼爱非攻','尚同尚贤']; 1 ...

  9. jquery扩展函数详解(我的人生颠覆)

    作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 上次分析了jquery的源码 ...

  10. JQuery动画详解(四)

    一:基本动画show()显示隐藏的匹配元素.这个就是 'show( speed, [callback] )' 无动画的版本.如果选择的元素是可见的,这个方法将不会改变任何东西.无论这个元素是通过hid ...

随机推荐

  1. MVC案例

    MVC案例分析: - 没有业务层,直接Servlet调用Dao,所以也没有业务操作.所有在DAO直接获取Connection对象 -采用MVCDs设计模式 -使用到的技术: mvc设计模式:JSP  ...

  2. 慕零的黑夜-头条-第一期(必问)[导读:]1.CSDN必问赏金流向何方 2.CSDN必问偷偷做的手脚 3.CSDN必问靠谱吗 4.关于钱于回答的平衡问题:一美元拍卖骗局 作者:qq3461896724

    本期是关于CSDN 必问 (biwen.csdn.net)的内容,欢迎评论 文末,文中插入有 小姐姐 img(附py代码,1.49G) + coding资料 哟~~~ 你看到这篇很可能是在提问.推荐加 ...

  3. CE未知数值修改

    一样,用植物大战僵尸测试.来搜索修改向日葵生产阳光的CD值. 由于开始并不知道向日葵cd的初始值,所以用CE搜索未知的初始值 返回游戏,每次向日葵晃一下搜索一下减少的值. 锁定修改为0发现成功. 然后 ...

  4. Rocket - tilelink - BankBinder

    https://mp.weixin.qq.com/s/oZCYBdy5glxJQmYKVWvpvA   简单介绍BankBinder的实现.   ​​   1. 基本介绍   A BankBinder ...

  5. 非阻塞赋值(Non-blocking Assignment)是个伪需求

    https://mp.weixin.qq.com/s/mH84421WDGRb7cuU5FEFIQ Verilog的赋值很是复杂,包括: 1. Continuous assignment; 2. Pr ...

  6. Linux (九)服务器环境搭建

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.行为守则 1.拍摄快照 Linux系统操作非常复杂,搭建开发环境时全部使用命令完成安装过程.而在Li ...

  7. Java实现 LeetCode 766 托普利茨矩阵(暴力)

    766. 托普利茨矩阵 如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵. 给定一个 M x N 的矩阵,当且仅当它是托普利茨矩阵时返回 True. 示例 1: 输 ...

  8. (Java实现) 美元汇率

    时空限制 1000ms/128MB 题目背景 此处省略maxint+1个数 题目描述 在以后的若干天里戴维将学习美元与德国马克的汇率.编写程序帮助戴维何时应买或卖马克或美元,使他从100美元开始,最后 ...

  9. java实现硬币方案

    标题:硬币方案 有50枚硬币,可能包括4种类型:1元,5角,1角,5分. 已知总价值为20元.求各种硬币的数量. 比如:2,34,6,8 就是一种答案. 而 2,33,15,0 是另一个可能的答案,显 ...

  10. IOS App如何调用python后端服务

    本篇文章旨在通过一个小的Demo形式来了解ios app是如何调用python后端服务的,以便我们在今后的工作中可以清晰的明白ios app与后端服务之间是如何实现交互的,今天的示例是拿登录功能做一个 ...