0

我有各种文本字段,每个文本字段旁边都有一个网格。当我单击一个按钮时,它会向它旁边的文本字段返回一个值。问题是让它知道将数据返回到哪个文本字段。我目前已经将它设置为传递一个带有函数的参数,该函数被放入隐藏字段中,并且 switch 语句检查该字段以便知道将数据发送回哪个字段。

它有效,但似乎我应该能够用更少的代码和一些不是静态编程的东西来做到这一点(当我向表单添加新字段时,我不想手动更新 switch 语句) . 我希望有一个简单的答案,我是编程新手,任何复杂的东西我都不会理解。

我所拥有的一个简化示例是这样的:

<form action="#" name="testForm">
    <input type="text" name="input1" size="20">
    <input type=button value="get data" onClick="populateField(1)"/>
    <br>
    <input type="text" name="input2" size="20">
    <input type=button value="get data" onClick="populateField(2)"/>
    <br>
    <input type="text" name="input3" size="20">
    <input type="button" value="get data" onClick="populateField(3)"/>
    <br>
    <input type="text" name="lineID" size=1 style="display:none"/>
</form>

<script>
    function populateField(input) {
        document.testForm.lineID.value = input;
        var element = document.getElementById("lineID");
        var lineID = element.value;
        switch (lineID) {
            case "1":
                document.testForm.input1.value = "some value";
                break;
            case "2":
                document.testForm.input2.value = "some value";
                break;
            case "3":
                document.testForm.input3.value = "some value";
            //etc
        }
    }
</script>

"document.testForm.input#.value"我如何使用变量来代替each ,而不是单独的 case "input#"

4

1 回答 1

3

使用括号表示法:

document.testForm['input' + lineID].value
于 2013-03-11T04:36:38.313 回答