我正在为一个字符串创建一个表单,因此,使用2个数组,我将所需的变量传递给按下的提交按钮上的函数(表单元素的名称和变量名称)。
但我正在使用eval()
,这不是很好,但我对对象或数组不够好以修复它。
我真正的问题(虽然有任何见解得到赞赏)是:当检查对应于单选按钮的文本框时,如何让它引用数组并更改从数组中更改的变量?
例如,如果我有一个数组:
var examplearray =
[
"foo"
]
textbox =
的onblurmaritalvar = document.getElementById('othermaritaltxt').value
如何将maritalvar
更改为foo
?
如果可能,它可以搜索fo
以获取foo
,以便在我之前添加元素时它不会中断(假设使用examplearray[0]
)?
答案 0 :(得分:4)
不要使用动态变量,在对象中使用属性。
示例:
var formData = {};
var fields = [ 'FirstName', 'LastName', 'Age' ];
for (var i = 0; i < fields.length; i++) {
var name = fields[i];
formData[name] = document.getElementById(name).value;
}
现在formData
对象有三个属性,就像你做的那样:
var formdata = {
'FirstName': document.getElementById('FirstName').value,
'LastName': document.getElementById('LastName').value,
'Age': document.getElementById('Age').value
};