1

我想要的是存储 id 为 3 的数据库对象的总和。(请参阅下面的输入标签)我有许多不同的 id 具有不同的值。我要存储的下面示例中的值是 2。

除此之外,我想使用带有 JavaScript 的“+”和“-”按钮来增加/减少 sum[3] 的值。所以我创建了一个名为 incr 和 decr 的函数来做到这一点:

<script type="text/javascript">
function incr(what)
{
    alert(what);
    what.value ++;

    // rest of the function I left out, it works with a 'normal' name of the input tag
    //but I need to use the array
}    
</script>

how many?<input type="text" size="10" name="sum[3]" value="2" />
<input name="plus" type="button" value="+" onclick="incr(document.sum[3])" />
<input name="min" type="button" value="-" onclick="decr(document.sum[3])" />

我无法让它工作,即使警报没有返回值。有人吗?

4

1 回答 1

4

这不是最优雅的方法,因为它使用了大量的内联代码,但它解决了您的问题。你的方法出了什么问题是 document.sum[3] 不是正确的选择器 name="sum[3]" 输入

<script type="text/javascript">
function incr(what)
{

    what.value ++;
    alert(what.value);
    // rest of the function I left out, it works with a 'normal' name of the input tag
    //but I need to use the array
}    
</script>

how many?<input type="text" size="10" name="sum[3]" value="2" />
<input name="plus" type="button" value="+" onclick="incr(document.getElementsByName('sum[3]')[0])" />
<input name="min" type="button" value="-" onclick="decr(document.getElementsByName('sum[3]')[0])" />

You should consider using jQuery and refactoring the code with event handlers rather than using inline javascript.

于 2012-11-11T21:57:38.373 回答