我试图创建一个引用多个表单的对象,我可以用JSON.stringify()
通过单个AJAX请求发送到验证脚本,但是我可以' t似乎正确地命名了对象内的数组,这应该是随着数组(表单)数量的增加而增加的数量。在Javascript/jQuery中动态添加变量名称作为对象的一部分
即
var images = new Object();
var i = 0;
// loop through every form
$('form').each(function() {
var form = $(this);
images[i].name = form.find('input[name="name"]').val();
images[i].description = form.find('textarea[name="description"]').val();
// etc.
i++;
});
所以,当完成后,说两到三个迭代(即,它是通过两三种形式了),我有一个JavaScript对象与此类似(写在伪代码,我中号不完全不太清楚它是如何实际输出):
images {
0 {
name : 0thImageNameValueHere,
description : 0thImageDescripValueHere,
etc : etc
}
1 {
name : 1stImageNameValueHere,
description : 1stImageDescripValueHere,
etc : etc
}
}
但是,现在,如果Firebug给我一个SyntaxError: missing ; before statement
错误,围绕这条线居中:
images[i].name = form.find('input[name="name"]').val();
现在,我可以将images[i].name
的'值'更改为我喜欢的任何东西(images[i].name = 'yes'
),但我仍然得到相同的错误。在句法上,我不会错过任何分号,所以它不可能是这样。有没有可能我没有正确地声明我的对象?
您将图像定义为对象,但是不是带有对象的数组? – 2013-03-12 10:19:54
我并不完全确定Javascript中的形式语言,但如果它是PHP,它将等同于多维关联数组,图像属性形成key =>值对。 – ReactingToAngularVues 2013-03-12 10:25:14
只要你的索引是一个int,你就可以在javascript中使用,如果你想使用字符串作为键,你必须使用一个对象。 – Tetaxa 2013-03-12 10:28:09