Chinaunix首页 | 论坛 | 博客
  • 博客访问: 790407
  • 博文数量: 247
  • 博客积分: 166
  • 博客等级: 入伍新兵
  • 技术积分: 2199
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-15 16:10
文章分类

全部博文(247)

文章存档

2017年(1)

2015年(63)

2014年(80)

2013年(94)

2012年(9)

分类: jQuery

2015-06-23 17:14:38

jQuery.Form.js 插件的作用是实现Ajax提交表单

一、方法:

  1.formSerilize()  用于序列化表单中的数据,并将其自动整理成适合AJAX异步请求的URL地址格式。

  2.clearForm()   清除表单中所有输入值的内容。

  3.restForm    重置表单中所有的字段内容。即将所有表单中的字段恢复到页面加载时的默认值。

ajaxForm 预处理将要使用AJAX方式提交的表单,将所有需要用到的事件监听器添加到其中。可有一个参数。
[javascript] view plaincopy
  1. $('#myFormId').ajaxForm();    
ajaxSubmit

        立即通过AJAX方式提交表单。最常见的用法是对用户提交表单的动作进行响应时调用它。可有一个参数。

[javascript] view plaincopy
  1. // attach handler to form's submit event   
  2. $('#myFormId').submit(function() {   
  3.     // submit the form   
  4.     $(this).ajaxSubmit();   
  5.     // return false,这样可以阻止正常的浏览器表单提交和页面转向   
  6.     return false;   
  7. });  



二、
疑问:
        ajaxForm()与ajaxSubmit()的区别:

  答案:
        $("#form1").ajaxForm();  相当于以下两行:

     $("#form1".submit)(function(){

         $("#form1").ajaxSubmit();

       return false;

       })  //也就是说ajaxFrom()会自动阻止表单提交。而ajaxSubmit()不会自动阻止表单提交,想阻止表单提交,要自己return false;


三、参数

    ajaxForm()与ajaxForm()都可以没有参数或者接受1个参数。该参数既可以是一个回调函数,也可以是一个options对象。该对象功能非常强大,说明如下:

     var options={

        url:url,      //form提交数据的地址

        type:type,     //form提交的方式(method:post/get)

        target:target,  //服务器返回的响应数据显示在元素(Id)号确定

        beforeSubmit:function(),  //提交前执行的回调函数

        success:function(),       //提交成功后执行的回调函数

        dataType:null,       //服务器返回数据类型

        clearForm:true,       //提交成功后是否清空表单中的字段值

        restForm:true,        //提交成功后是否重置表单中的字段值,即恢复到页面加载时的状态

        timeout:6000         //设置请求时间,超过该时间后,自动退出请求,单位(毫秒)。       

     }
传参方式1:

    如果希望表单提交完成后不跳转,那么一行简单的代码就能够实现,几乎与不使用表单提交是一样的:

  $("#MailForm").ajaxSubmit(function(message) {
    alert("表单提交已成功!");
  });

传参方式2:

点击(此处)折叠或打开

  1. var options = {
  2.     target: '#divToUpdate',
  3.     url: 'comment.php',
  4.     success: function() {
  5.         alert('Thanks for your comment!');
  6.     }
  7. };
  8.  
  9. // pass options to ajaxForm
  10. $('#myForm').ajaxForm(options)

参数详细说明:
target 用server端返回的内容更换指定的页面元素的内容。 这个值可以用jQuery 选择器来表示, 或者是一个jQuery 对象, 一个 DOM 元素。
缺省值: null url 表单提交的地址。
缺省值: 表单的action的值 type 表单提交的方式,'GET' 或 'POST'.
缺省值: 表单的 method 的值 (如果没有指明则认为是 'GET') beforeSubmit 表单提交前执行的方法。这个可以用在表单提交前的预处理,或表单校验。如果'beforeSubmit'指定的函数返回false,则表单不会被提交。 'beforeSubmit'函数调用时需要3个参数:数组形式的表单数据,jQuery 对象形式的表单对象,可选的用来传递给ajaxForm/ajaxSubmit 的对象。 数组形式的表单数据是下面这样的格式:
[ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]
缺省值: null success 当表单提交后执行的函数。 如果'success' 回调函数被指定,当server端返回对表单提交的响应后,这个方法就会被执行。 responseText 和 responseXML 的值会被传进这个参数 (这个要依赖于dataType的类型).

缺省值: null

dataType 指定服务器响应返回的数据类型。其中之一: null, 'xml', 'script', 或者 'json'. 这个 dataType 选项用来指示你如何去处理server端返回的数据。 这个和 jQuery.httpData 方法直接相对应。 下面就是可以用的选项:

'xml': 如果 dataType == 'xml' 则 server 端返回的数据被当作是 XML 来处理, 这种情况下'success'指定的回调函数会被传进去 responseXML 数据

'json': 如果 dataType == 'json' 则server端返回的数据将会被执行,并传进'success'回调函数

'script': 如果 dataType == 'script' 则server端返回的数据将会在上下文的环境中被执行

缺省值: null

semantic 一个布尔值,用来指示表单里提交的数据的顺序是否需要严格按照语义的顺序。一般表单的数据都是按语义顺序序列化的,除非表单里有一个type="image"元素. 所以只有当表单里必须要求有严格顺序并且表单里有type="image"时才需要指定这个。
缺省值: false resetForm 布尔值,指示表单提交成功后是否需要重置。
缺省值: null clearForm 布尔值,指示表单提交成功后是否需要清空。
缺省值: null iframe 布尔值,用来指示表单是否需要提交到一个iframe里。 这个用在表单里有file域要上传文件时。更多信息请参考 代码示例 页面里的File Uploads 文档。 

缺省值: false



四、例子:


页面js代码:

复制代码
    
    
    
复制代码

页面HTML代码:

复制代码
    

我的名字:

我的偶像是:刘德华 张学友

我喜欢的音乐类型:摇滚 轻柔 爵士

复制代码

后台:indexAjax.aspx.cs代码

复制代码
        protected void Page_Load(object sender, EventArgs e)
        {
            string strName = Request["name"];
            string strIdol = Request["Idol"];
            string strMusicType = Request["musictype"];
            Response.Clear();
            Response.Write("我的名字是:" + strName + ";   我的偶像是:" + strIdol + ";   我喜欢的音乐类型:" + strMusicType);
            Response.End();
        }
复制代码

 示例源代码:点此下载

参考:http://www.cnblogs.com/kissdodog/archive/2012/12/13/2817191.htmlhttp://blog.csdn.net/memray/article/details/8483024

阅读(630) | 评论(0) | 转发(0) |
0

上一篇:jQuery Ajax 应用

下一篇:StringUtils

给主人留下些什么吧!~~