Jquery插件之ajaxForm ajaxSubmit的理解用法(转)

我们在平常使用Jquery异步提交表单,一般是在submit()中,使用$.ajax进行。比如:

    $(function(){
        $(‘#myForm‘).submit(function(){
            $.ajax({
                url:"/WebTest/test/testJson.do",
                data:$(‘#myForm‘).serialize(),
                dataType:"json",
                error:function(data){
                    alert(data);
                },
                success:function(data){
                    alert(data);
                }
            });
        });
    })

这样的方式掩盖了form的功能,使它成为了变相的ajax。下面来看看符合form思想的ajaxForm。  

ajaxForm:

先下载:http://files.cnblogs.com/china-li/jquery.form.js

两个主要的API:ajaxForm() ajaxSubmit()。

ajaxForm()配置完之后,并不是马上的提交,而是要等submit()事件,它只是一个准备。一般用法:

$(document).ready(function() {
    var options = {
        target:        ‘#output1‘,   // target element(s) to be updated with server response
        beforeSubmit:  showRequest,  // pre-submit callback
        success:       showResponse  // post-submit callback 

        // other available options:
        //url:       url         // override for form‘s ‘action‘ attribute
        //type:      type        // ‘get‘ or ‘post‘, override for form‘s ‘method‘ attribute
        //dataType:  null        // ‘xml‘, ‘script‘, or ‘json‘ (expected server response type)
        //clearForm: true        // clear all form fields after successful submit
        //resetForm: true        // reset the form after successful submit 

        // $.ajax options can be used here too, for example:
        //timeout:   3000
    }; 

    // bind form using ‘ajaxForm‘
    $(‘#myForm1‘).ajaxForm(options).submit(function(){return false;});
});

  

这个是官方的例子,不过他没有最后的提交。提交中返回false,阻止它的默认提交动作,而是用ajax交互。

其中options的属性,重要的解释一下:

target 返回的结果将放到这个target下
url 如果定义了,将覆盖原form的action
type get和post两种方式
dataType 返回的数据类型,可选:json、xml、script
clearForm true,表示成功提交后清除所有表单字段值
resetForm true,表示成功提交后重置所有字段
iframe 如果设置,表示将使用iframe方式提交表单
beforeSerialize 数据序列化前:function($form,options){}
beforeSubmit 提交前:function(arr,$from,options){}
success 提交成功后:function(data,statusText){}
error 错误:function(data){alert(data.message);}

ajaxSubmit示例:

$(document).ready(function() {
    var options = {
        target:        ‘#output2‘,   // target element(s) to be updated with server response
        beforeSubmit:  showRequest,  // pre-submit callback
        success:       showResponse  // post-submit callback 

        // other available options:
        //url:       url         // override for form‘s ‘action‘ attribute
        //type:      type        // ‘get‘ or ‘post‘, override for form‘s ‘method‘ attribute
        //dataType:  null        // ‘xml‘, ‘script‘, or ‘json‘ (expected server response type)
        //clearForm: true        // clear all form fields after successful submit
        //resetForm: true        // reset the form after successful submit 

        // $.ajax options can be used here too, for example:
        //timeout:   3000
    }; 

    // bind to the form‘s submit event
    $(‘#myForm2‘).submit(function() {
        // inside event callbacks ‘this‘ is the DOM element so we first
        // wrap it in a jQuery object and then invoke ajaxSubmit
        $(this).ajaxSubmit(options); 

        // !!! Important !!!
        // always return false to prevent standard browser submit and page navigation
        return false;
    });
});

  

其他的API:

$(‘#myFormId‘).clearForm();
$(‘#myFormId .specialFields‘).clearFields();
$(‘#myFormId‘).resetForm();
var value = $(‘#myFormId :password‘).fieldValue();
var queryString = $(‘#myFormId .specialFields‘).fieldSerialize();

  

时间: 2024-10-12 14:56:15

Jquery插件之ajaxForm ajaxSubmit的理解用法(转)的相关文章

Jquery插件之ajaxForm ajaxSubmit的理解用法

如今ajax满天飞,作为重点的form自然也受到照顾. 其实,我们在平常使用Jquery异步提交表单,一般是在submit()中,使用$.ajax进行.比如: $(function(){ $('#myForm').submit(function(){ $.ajax({ url:"/WebTest/test/testJson.do", data:$('#myForm').serialize(), dataType:"json", error:function(data

query插件之ajaxForm ajaxSubmit的理解用法

如今ajax满天飞,作为重点的form自然也受到照顾. 其实,我们在平常使用Jquery异步提交表单,一般是在submit()中,使用$.ajax进行.比如: $(function(){ $('#myForm').submit(function(){ $.ajax({ url:"/WebTest/test/testJson.do", data:$('#myForm').serialize(), dataType:"json", error:function(data

Jquery插件之ajaxForm

Jquery插件之ajaxForm 如今ajax满天飞,作为重点的form自然也受到照顾. 其实,我们在平常使用Jquery异步提交表单,一般是在submit()中,使用$.ajax进行.比如: $(function(){ $('#myForm').submit(function(){ $.ajax({ url:"/WebTest/test/testJson.do", data:$('#myForm').serialize(), dataType:"json", e

Jquery插件之ajaxForm简介

我们平常在使用jQuery异步提交表单的时候,一般都是加载在submit事件中,如下所示: 1 $(document).ready(function(){ 2 $('#myForm').submit(function(){ 3 $.ajax({ 4 url:'www.xxx.com', 5 data:$('#myForm').serialize(), 6 dataType:'json', 7 error:function(data){ 8 alert(data); 9 } 10 success:

jquery插件validate里面的remote参数用法

validate验证在进行异步数据库查询验证的过程中用到了remote这个参数 remote里面有url,dataType,data,type等等这几个参数,当data不写的时候默认是当前被验证的字段的值.传值到php文件中,在php文件中处理的时候,返回值为 "true"或者"false",返回值需要加引号. 以下为一个测试案例: js的写法   var option = {   rules:{    BaleNo:{     required:true,    

Jquery插件placeholder的用法

闲的蛋疼,演示一下Jquery插件placeholder的用法,借助该插件能够轻松实现HTML5中placeholder特效: 效果图: 实现代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String basePath = request.getScheme()+"://&quo

JQuery插件之Jquery.datatables.js用法及api

1.DataTables的默认配置 $(document).ready(function() { $('#example').dataTable(); } ); 示例:http://www.guoxk.com/html/DataTables/Zero-configuration.html 2.DataTables的一些基础属性配置 "bPaginate": true, //翻页功能 "bLengthChange": true, //改变每页显示数据数量 "

原创jquery插件treeTable(转)

由于工作需要,要直观的看到某个业务是由那些子业务引起的异常,所以我需要用树表的方式来展现各个层次的数据. 需求: 1.数据层次分明: 2.数据读取慢.需要动态加载孩子节点: 3.支持默认展开多少层. 在网上找到了很多资料,发现treeTable方面的组件质量都不高,有些还不错样式不符合,性能也比较差.想想树表也挺简单的,不就是通过隐藏或者展现某些tr来实现嘛.于是乎,自己写一个. 2011年5月4号恰好放假一个下午,于是在家里风风火火开始构造自己的树表插件. 样式我就用了http://www.h

jquery插件之jquery.extend和jquery.fn.extend的区别

jquery.extend jquery.extend(),是拓展jquery这个类,即可以看作是jquery这个类本身的静态方法,例如: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/