zoukankan      html  css  js  c++  java
  • JQuery中serialize()、serializeArray()和param()方法示例介绍

    在项目中做form表单提交的时候,如果参数比较少,可以通过jquery一个个取得,但是当 form表参数很多的情况下,还是一一取得的话无疑是加大了工作量,那我们需要咱们获取到表单的所有参数呢,幸好,jquery有serialize()、serializeArray()方法,可以一次性获取到参数,如我们有form表单如下:

    与JQuery中其他方法一样,serialize()方法也是作用于一个JQuery对象,它能够将DOM元素内容序列化为字符串,用于ajax请求。通过使用serialize()方法,可以提交本页面的所有域,代码如下:

    $("#send").click(function(){ 
    $.get("get1.jsp", $("#form1").serialize(), function(data, textStatus) 
    $("#resText").html(data); 
    });
    });
    

      

    当单击“提交”按钮后,所有属于form1的表单元素都能提交到后台,即使在表单中再增加字段,脚本仍然能够使用,并且不需要做其他多余工作。

    用字符串方式时,需要注意对字符编码(中文问题),如果不希望编码带来麻烦,可以使用serialize()方法,它会自动编码。

    因为serialize()方法作用于JQuery对象,所以不光只有表单能使用它,其他选择器选取的元素也都能使用它,如以下JQuery代码:

    $(":checkbox,:radio").serialize();

    把复选框和单选框的值序列化为字符串形式,只会将选中的值序列化。

    在JQuery中还有一个与serialize()类似的方法--serializeArray(),该方法不是返回字符串,而是将DOM元素序列化后,返回JSON格式的数据。JQuery代码如下:

    var fields = $(":checkbox,:radio").serializeArray();
    console.log(fields); //用FireBug输出
     

    $.param()方法是serialize()方法的核心,用来对一个数组或对象按照key/value进行序列化。

    比如将一个普通的对象序列化:

    var obj = {a:1,b:2,c:3};
    var k = $.param(obj);
    alert(k); //输出a=1&b=2&c=3
     
    
    



  • 相关阅读:
    在TreeView控件节点中显示图片
    PAT 甲级 1146 Topological Order (25 分)
    PAT 甲级 1146 Topological Order (25 分)
    PAT 甲级 1145 Hashing
    PAT 甲级 1145 Hashing
    PAT 甲级 1144 The Missing Number (20 分)
    PAT 甲级 1144 The Missing Number (20 分)
    PAT 甲级 1151 LCA in a Binary Tree (30 分)
    PAT 甲级 1151 LCA in a Binary Tree (30 分)
    PAT 甲级 1149 Dangerous Goods Packaging
  • 原文地址:https://www.cnblogs.com/laneyfu/p/4872266.html
Copyright © 2011-2022 走看看