我有一小段代码将一些值写入表单内的textarea中。每当我单击一个按钮时就写入。但是,如果我多次单击按钮,它们将一遍又一遍地书写。我需要能够多次单击按钮(例如,如果用户更改了值),并且让我编写的值只是刷新而不是重复。这是我所拥有的...

var endwallPanelLengths = [totalHeightInches];
    var i = 0;
    while (endwallPanelLengths[i] > eaveInches)
    {
        endwallPanelLengths.push(endwallPanelLengths[i] - peakHeightDecrease);
        document.getElementById("test83").value += "4 - " + endwallPanelLengths[i] + "\n";
        i++;
    }


当我第一次单击按钮时,值是正确的,但是每次单击后它们都会再次写入?

最佳答案

我认为您想在用户更改值时进行整个迭代。然后,您只需要在循环之前将textarea的值重置为空即可。像这样:

var endwallPanelLengths = [totalHeightInches];
var i = 0;
document.getElementById("test83").value = '';  //Reset the value
while (endwallPanelLengths[i] > eaveInches) {
    endwallPanelLengths.push(endwallPanelLengths[i] - peakHeightDecrease);
    document.getElementById("test83").value += "4 - " + endwallPanelLengths[i] + "\n";
    i++;
}


我已经计算出demo page。希望那是你所追求的。

关于javascript - 如何避免将这些值重写为HTML?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16905244/

10-12 15:59