在JavaScript中使用数组作为名称计算输入元素的值

在JavaScript中使用数组作为名称计算输入元素的值,javascript,html,arrays,function,input,Javascript,Html,Arrays,Function,Input,我想要的是存储id为3的数据库对象的总和。请参见下面的输入标记 我有很多不同的id和不同的值。下面的示例中我要存储的值是2 除此之外,我想使用JavaScript中的+和-按钮来增加/减少sum[3]的值。所以我创建了一个名为incr和decr的函数来实现这一点: <script type="text/javascript"> function incr(what) { alert(what); what.value ++; // rest of the f

我想要的是存储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])" />

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

这不是最优雅的方法,因为它使用了大量内联代码,但它解决了您的问题。您的方法出现问题的是该文档。sum[3]不是正确的选择器名称=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])" />

您应该考虑使用JQuery和使用事件处理程序重构代码,而不是使用内联JavaScript。

< P>这不是最优雅的方法,因为它使用大量内联代码,但是它解决了您的问题。您的方法出现问题的是该文档。sum[3]不是正确的选择器名称=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])" />

您应该考虑使用JQuery并使用事件处理程序重构代码,而不是使用内联JavaScript。< /P>,在这种情况下,值为2。在此情况下,值为2。