• Jquery ajax 表单.serialize() 和serializeArray()序列化$.param()


    .serialize() 方法创建以标准 URL 编码表示的文本字符串。它的操作对象是代表表单元素集合的 jQuery 对象。

    表单元素有几种类型:

    <form>
      <div><input type="text" name="a" value="1" id="a" /></div>
      <div><input type="text" name="b" value="2" id="b" /></div>
      <div><input type="hidden" name="c" value="3" id="c" /></div>
      <div>
        <textarea name="d" rows="8" cols="40">4</textarea>
      </div>
      <div><select name="e">
        <option value="5" selected="selected">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
      </select></div>
      <div>
        <input type="checkbox" name="f" value="8" id="f" />
      </div>
      <div>
        <input type="submit" name="g" value="Submit" id="g" />
      </div>
    </form>
    

    .serialize() 方法可以操作已选取个别表单元素的 jQuery 对象,比如 <input>, <textarea> 以及 <select>。不过,选择 <form> 标签本身进行序列化一般更容易些:

    $('form').submit(function() {
      alert($(this).serialize());
      return false;    //不阻止默认行为就会发送数据刷新页面
    });

    输出标准的查询字符串:

    a=1&b=2&c=3&d=4&e=5

    注释:只会将”成功的控件“序列化为字符串。如果不使用按钮来提交表单,则不对提交按钮的值序列化。如果要表单元素的值包含到序列字符串中,元素必须使用 name 属性。

     

    //serializeArray()

    $("form").submit(function() {
      console.log($(this).serializeArray());
      return false;
    });

    上面的代码产生下面的数据结构(假设浏览器支持 console.log):

    [
      {
        name: a
        value: 1
      },
      {
        name: b
        value: 2
      },
      {
        name: c
        value: 3
      },
      {
        name: d
        value: 4
      },
      {
        name: e
        value: 5
      }
    ]
    var v11 = $.param( { name:"CodePlayer", age:18 } ); // "name=CodePlayer&age=18"

    var array = [
        { name: "name", value: "张三" },
        { name: "age", value: 18, extra: "忽略该属性" },
        { name: "grade" }, // 没有value属性,则value值为undefined,将被转为空字符串""
        { name: "orderId", value: 2 },
        { name: "orderId", value: 3 },
    ];
    var v12 = $.param( array ); // "name=%E5%BC%A0%E4%B8%89&age=18&grade=&orderId=2&orderId=3"
  • 相关阅读:
    commonJS — 数组操作(for Array)
    seafile增加邮件服务功能
    2.事务和系统概念
    1.事务处理简介
    glusterfs分布式复制扩容卷以及平衡卷
    seafile数据的备份与恢复
    seafile+glusterfs 安装部署
    虚拟机或物理服务器热添加硬盘
    bash: cannot create temp file for here-document: Read-only file system
    FATAL ERROR: please install the following Perl modules before executing ./mysql_install_db: Data::Dumper
  • 原文地址:https://www.cnblogs.com/dianzan/p/7375073.html
Copyright © 2020-2023  润新知