zl程序教程

您现在的位置是:首页 >  其他

当前栏目

$.Form.serialize详解编程语言

编程语言 详解 Form serialize
2023-06-13 09:20:40 时间

http://www.123-cha.com/prototype/api/form/serialize.htm

 

serialize(formElement[, getHash = false]) - String | object

串行化表单数据为字符串,以适用于 Ajax 请求(默认行为)。若指定可选的参数 getHash 值为 true,则返回一个 Hash 对象,以表单控件的名称(name 属性)为“键”,控件所代表的数据为“值”。

根据可选参数 getHash 的值是否等价于 true,返回的结果为一个形如 {name: johnny , color: blue } 的对象或是一个形如 name=johnny color=blue 的字符串。返回值常用于作为 Ajax 请求的参数。该方法模拟浏览器原生的串行化表单方式,以便在不刷新页面的情况下发送表单数据到服务器。

从 Prototype 1.5 开始,Ajax 请求的参数推荐使用 Hash 对象。这意味着你需要将参数 getHash 设置为 true。保留过去的做法(串行化为字符串)是为了保持后向兼容性。

$(person-example).serialize() 

// - username=sulien age=22 hobbies=coding hobbies=hiking 

$(person-example).serialize(true) 

// - {username: sulien, age: 22, hobbies: [coding, hiking]}

试一下!


表单中被禁用的元素不会被串行化(遵循 W3C HTML 建议)。另外,文件上传控件也会被忽略,因为它们不是仅通过 JavaScript 就可以进行串行化和发送的。

注意: hobbies 是一个多选的 SELECT 控件,如果我们要把这个控件的值传递到一个 PHP 或 ROR(Ruby on Rails)后端,该控件必须命名为 hobbies[] ,因为我们希望发送的是一个 array,而不是单个值。这与 JavaScript 没有关系——Prototype 也不会对你的控件名称做任何处理,该怎么做完全取决于你。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/13669.html

cjavaphp