【发布时间】:2010-12-29 01:40:00
【问题描述】:
我试图创建一个具有四个属性的原型对象: 'name'、'basis' 和 'rows',它们是取自表单和 'head' 应该是一个字符串值数组。
类定义:
var TableTemplate = Class.create();
TableTemplate.prototype = {
initialize: function(name, basis, head, rows) {
this.name = name;
this.basis = basis;
this.head = head;
this.rows = rows;
},
};
它应该传递给后端的 .php 文件,如下所示:
function sendRequest() {
var sorting = doSorting();
//alert(sorting.inspect());
var table = new TableTemplate($F('templateName'), $F('basisTemplate'), sorting , $F('maxRows'));
new Ajax.Request("test.php",
{
method: 'post',
postBody: 'table='+ Object.toJSON(table),
onComplete: showResponse
});
}
其中 'doSorting()' 返回一个字符串数组。
问题: 除了对象中的头部(数组)之外,我似乎无法获取其他属性,或者这个属性有点覆盖其他属性......当我尝试获取名称或基础时,将返回数组。
有人知道如何解决这个问题吗? 提前感谢您的帮助,
玛拉
【问题讨论】:
-
(OT) 您的类定义适用于 Prototype 1.5.x。如果您使用的是 1.6.x(理想情况下应该是,自 1.5 以来已经有好几年了,并且有很多错误修复),您需要更新它,这样您就不会替换返回的函数原型
Class.create。更多信息:api.prototypejs.org/language/class.html
标签: javascript arrays class prototypejs