`

Jquery表单插件ajaxForm用法详解

    博客分类:
  • java
 
阅读更多
来源:[url]
http://www.open-open.com/lib/view/open1325032463827.html
[/url]
插件主要的方法:

ajaxForm
ajaxSubmit
formToArray
formSerialize

fieldSerialize
fieldValue
clearForm
clearFields
resetForm



示例代码:


查看源码打印?1 // wait for the DOM to be loaded  

2 $(document).ready(function() {   

3    // bind 'myForm' and provide a simple callback function    

4    $('#myForm').ajaxForm(function() {    

5        alert("Thank you for your comment!");   

6     });  

7 });


下载地址: http://malsup.github.com/jquery.form.js

表单插件API

英文原文:http://www.malsup.com/jquery/form/#api

表单插件API提供了几个方法,让你轻松管理表单数据和进行表单提交。

ajaxForm()

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

实例:

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

ajaxSubmit()

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

实例:

查看源码打印?1 // 绑定表单提交事件处理器 

2 $('#myFormId').submit(function() { 

3     // 提交表单 

4     $(this).ajaxSubmit(); 

5     // 为了防止普通浏览器进行表单提交和产生页面导航(防止页面刷新?)返回false 

6     return false; 

7    }); 

8   

9 formSerialize()


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

实例:

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

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

fieldSerialize()

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

实例:

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


fieldValue()

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

实例:

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


resetForm()

通过调用表单元素原有的DOM方法,将表单恢复到初始状态。
可链接(Chainable):可以。

实例:

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


clearForm()

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

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


clearFields()

清除字段元素。只有部分表单元素需要清除时才方便使用。
可链接(Chainable):可以。

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

Options对象

ajaxForm和ajaxSubmit都支持众多的选项参数,这些选项参数可以使用一个Options对象来提供。Options只是一个JavaScript对象,它包含了如下一些属性与值的集合:

target

指明页面中由服务器响应进行更新的元素。元素的值可能被指定为一个jQuery选择器字符串,一个jQuery对象,或者一个DOM元素。
默认值:null。

url

指定提交表单数据的URL。
默认值:表单的action属性值

type

指定提交表单数据的方法(method):“GET”或“POST”。
默认值:表单的method属性值(如果没有找到默认为“GET”)。

beforeSubmit

表单提交前被调用的回调函数。“beforeSubmit”回调函数作为一个钩子(hook),被提供来运行预提交逻辑或者校验表单数据。如果 “beforeSubmit”回调函数返回false,那么表单将不被提交。“beforeSubmit”回调函数带三个调用参数:数组形式的表单数据,jQuery表单对象,以及传入ajaxForm/ajaxSubmit中的Options对象。表单数组接受以下方式的数据:

[ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]

默认值:null

success

表单成功提交后调用的回调函数。如果提供“success”回调函数,当从服务器返回响应后它被调用。然后由dataType选项值决定传回responseText还是responseXML的值。
默认值:null

dataType

期望返回的数据类型。null、“xml”、“script”或者“json”其中之一。dataType提供一种方法,它规定了怎样处理服务器的响应。这个被直接地反映到jQuery.httpData方法中去。下面的值被支持:

'xml':如果dataType == 'xml',将把服务器响应作为XML来对待。同时,如果“success”回调方法被指定, 将传回responseXML值。

'json':如果dataType == 'json', 服务器响应将被求值,并传递到“success”回调方法,如果它被指定的话。

'script':如果dataType == 'script', 服务器响应将求值成纯文本。

默认值:null(服务器返回responseText值)

semantic

Boolean flag indicating whether data must be submitted in strict semantic order (slower). Note that the normal form serialization is done in semantic order with the exception of input elements of type="image". You should only set the semantic option to true if your server has strict semantic requirements and your form contains an input element of type="image".
布尔标志,表示数据是否必须严格按照语义顺序(slower?)来进行提交。注意:一般来说,表单已经按照语义顺序来进行了串行化(或序列化),除了 type="image"的input元素。如果你的服务器有严格的语义要求,以及表单中包含有一个type="image"的input元素,就应该将 semantic设置为true。(译注:这一段由于无法理解,翻译出来可能语不达意,但请达人指正。)
默认值:false

resetForm

布尔标志,表示如果表单提交成功是否进行重置。
Default value: null

clearForm

布尔标志,表示如果表单提交成功是否清除表单数据。
默认值:null

实例:

// 准备好Options对象


查看源码打印?1 var options = { 

2     target:     '#divToUpdate', 

3     url:        'comment.php', 

4     success: function() { 

5       alert('Thanks for your comment!'); 

6     } }; 

7   

8    // 将options传给ajaxForm 

9 $('#myForm').ajaxForm(options);




注意:Options对象还可以用来将值传递给jQuery的$.ajax方法。如果你熟悉$.ajax所支持的options,你可以利用它们来将Options对象传递给ajaxForm和ajaxSubmit。

ajaxForm()适用于以表单提交方式处理ajax技术(需要提供表单的action、id、 method,最好在表单中提供submit按钮)它大大简化了使用ajax技术提交表单时的数据传递问题,使用ajaxForm()你不需要逐个的以 JavaScript的方式获取每个表单属性的值,并且也不需要在请求路径后面通过url重写的方式传递数据。ajaxForm()会自动收集当前表单中每个属性的值,然后将其以表单提交的方式提交到目标url。这种方式提交数据较安全,并且使用起来更简单,不必写过多冗余的JavaScript代码

$(document).ready(function(){

         registerForm'表单id

data回调数据

        $('#registerForm').ajaxForm(function(data){

            alert(data);//弹出ajax请求后的回调结果

        });

});


ajaxSubmit()适用于以事件的机制以ajax提交form表单(超链接、图片的click事件),该方法作用与ajaxForm()类似,但它更为灵活,因为他依赖于事件机制,只要有事件存在就能使用该方法。你只需指定该form的action属性即可,不需要提供submit按钮。

$(document).ready(function(){

    $('#btn').click(function(){

            $('#registerForm').ajaxSubmit(function(data){

                alert(data);

            });

            return false;

    });

    });

该段代码作用是在表单中id为btn的按钮click事件触发时通过ajaxSubmit()方法以ajax技术提交表单到表单的action所指路径


formSerialize()是将一个form中所有的表单元素以 name作为key,value作为值进行序列化操作,这就需要你必须为每一个表单元素设置表单元素name属性及填充表单元素value的值,最好也设置id方便jquery定位表单元素。若要使用此方法你必须设置表单元素name属性及填充表单元素value的值,我在初次使用时就忘了设置name属性,最后在同事的帮助下找了好久才发现此错误。

var str=$('#registerForm').formSerialize(); // registerForm为form id

alert(str);


fieldSerialize()是将form中表单元素进行序列化以name作为key,value作为值进行序列化操作,这就需要你必须为每一个表单元素设置表单元素name属性及填充表单元素value的值。

var str=$('#username). fieldSerialize();

alert(str);
分享到:
评论

相关推荐

    jQuery表单插件ajaxForm实例详解

    总的来说,jQuery的ajaxForm插件提供了简单易用的方式来实现AJAX表单提交,它可以处理普通数据和文件上传,同时提供了丰富的配置选项以适应不同的需求。在使用过程中,注意兼容性问题,尤其是与文件上传相关的兼容性...

    jquery表单验证插件

    ### jQuery表单验证插件详解 #### 一、概述 jQuery表单验证插件是一种用于简化Web表单处理过程的强大工具。它不仅能够帮助开发者轻松地实现表单数据的Ajax提交,还支持文件上传等功能,极大地提升了用户体验并降低...

    JQuery.form表单提交参数详解.txt

    ### JQuery Form 插件中的 `ajaxForm()` 和 `ajaxSubmit()` 方法详解 #### 一、引言 在 Web 开发中,使用 AJAX 进行异步表单提交是一种常见的技术手段,它允许开发者无需重新加载整个页面即可提交数据并接收响应...

    jquery form ajax 插件

    1. 初始化插件:在jQuery选择器中调用`ajaxForm`或`ajaxSubmit`方法来初始化插件。例如: ```javascript $("#myForm").ajaxForm(options); ``` 其中,`options`是一个对象,包含了各种配置参数,如成功回调、错误...

    jquery表单插件form使用方法详解

    基本的使用方法有两种,一是使用`ajaxForm`方法,二是使用`ajaxSubmit`方法。两者都可以轻松地集成到表单元素中。首先需要在HTML文档中引入jQuery和`jquery-form.js`库。 1. 使用`ajaxForm`方法 示例代码展示了...

    jQuery表单验证插件

    **jQuery表单验证插件详解** 在Web开发中,表单验证是不可或缺的一部分,它确保用户输入的数据符合预设的规则,从而提高用户体验并减少服务器端的负担。jQuery,一个轻量级、高性能的JavaScript库,提供了丰富的API...

    jquery 表单插件 formvalidator

    **jQuery FormValidator 插件详解** 在Web开发中,表单验证是不可或缺的一部分,它确保用户输入的数据符合预设的规则,从而提高数据质量和用户体验。jQuery FormValidator 是一个强大且灵活的验证插件,尤其适用于...

    Jquery的表单插件

    **jQuery表单插件详解** 在Web开发中,jQuery库以其简洁、强大的API深受开发者喜爱。其中,jQuery的表单插件是实现交互性、增强用户体验的重要工具。本篇文章将深入探讨jQuery的表单插件,特别是针对"jquery.form....

    jquery form jquery.form.js

    《jQuery Form插件详解及其应用》 jQuery Form插件,基于jQuery库,是用于处理HTML表单的增强工具,能够方便地实现异步提交、文件上传等功能,极大地简化了前端开发人员的工作。在这个主题中,我们将深入探讨jQuery...

    jQuery滑动式分步注册表单插件

    **jQuery滑动式分步注册表单插件详解** 在网页设计中,用户注册表单是必不可少的一部分。为了提供更好的用户体验,许多开发者选择使用分步式注册表单,这种形式可以将复杂的表单拆分成几个步骤,使得用户更容易理解...

    Jquery插件,JqueryUI,JqueryForm,JqueryValidate,Jqueryvsdoc

    **jQuery 插件详解** jQuery 是一款非常流行的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画和Ajax交互。在这个压缩包中,我们重点探讨的是几个基于 jQuery 的核心插件,它们分别是:jQuery UI、jQuery ...

    Jquery validate和form插件

    **jQuery validate 和 form 插件详解** 在网页开发中,用户界面的交互性和数据验证是不可或缺的部分。jQuery 是一个广泛使用的 JavaScript 库,它简化了 DOM 操作、事件处理和动画效果。`jQuery validate` 和 `...

    jquery form

    **jQuery Form插件详解** jQuery Form插件是jQuery库中的一个强大工具,它极大地简化了HTML表单的处理,提供了异步提交(AJAX)功能,使得用户在无需页面刷新的情况下就能发送表单数据,提高了用户体验。这个插件...

    jquery.form.js下载_jquery.form.js上传文件插件下载

    2. **初始化插件**:使用`$.ajaxForm()`或`$.fn.ajaxForm()`方法初始化表单,例如: ```javascript $('#myForm').ajaxForm({ url: 'submit.php', type: 'POST', success: function(response) { // 成功提交后...

    jQuery Ajax过滤器

    本文将深入探讨jQuery中的Ajax过滤器及其在Ajaxform表单提交中的应用,以及如何解决可能出现的乱码问题。 首先,让我们理解什么是jQuery Ajax过滤器。在jQuery中,`ajaxSend`、`ajaxComplete`、`ajaxSuccess`、`...

    jquery 表单验证插件Validform插件制作一行代码搞定整站的jquery表单验证

    **jQuery Validform插件详解** 在网页开发中,表单验证是必不可少的一部分,它能确保用户输入的数据符合预设的规则,从而提高数据的准确性和安全性。jQuery Validform是一款强大的表单验证插件,它以其简洁的API和...

    jQuery常用插件大全pdf

    **知识点**: 基于jQuery的Autocomplete插件,支持Ajax数据读取和本地数据获取,配置简单,使用灵活。 #### 7. jQueryTagSuggestion **知识点**: 提供类似del.icio.us的tag建议功能,帮助用户快速添加标签,增强内容...

Global site tag (gtag.js) - Google Analytics