1

我有一个简单的 JavaScript 函数,它允许访问者动态地将输入字段添加到表单中。在某些情况下,我需要在一个页面上多次调用这个函数,我试图通过只创建一个函数并将必要的参数传递给它来简化事情。

我的症结是我需要为我正在创建的每个输入类别设置一个计数器,以便我可以根据需要添加/删除输入。这是我到目前为止所得到的:

var assigneeCounter = 1;
var uploadCounter = 1;


function addInput(fieldlabel, inputclasses, inputCounterID, inputCounter){
  alert(inputCounter);
}

调用该函数的 HTML 如下:

<a href="javascript:addInput('Assignee','required-text', 'assignees', 'assigneeCounter');">Add Another Assignee</a>
<a href="javascript:addInput('File Uploads','', 'uploads', 'uploadCounter');">Add Another File Upload</a>

我的目标是让函数调用查找与其相关的特定变量(例如,assigneeCounter 用于 Assignees 输入,uploadCounter 用于 Uploads 等)。但是,当我警告该变量时,它只是写“assigneeCounter”而不是“1”。

我确定我只是在这里遗漏了一些关于变量范围的基本知识,而且我不是 JavaScript 专家,所以我想我会问那些是。

提前致谢!

4

2 回答 2

1

您可以像这样访问它:

alert(window[inputCounter]);
于 2012-09-19T22:12:09.443 回答
1

是的。如果这些变量在全局范围内,您可以通过window对象访问它们:

window[inputCounter];

有关其工作原理的更多详细信息,请参阅在 JavaScript 中使用动态变量名。

于 2012-09-19T22:12:37.187 回答