在JavaScript中使用数组作为名称计算输入元素的值
我想要的是存储id为3的数据库对象的总和。请参见下面的输入标记 我有很多不同的id和不同的值。下面的示例中我要存储的值是2 除此之外,我想使用JavaScript中的+和-按钮来增加/减少sum[3]的值。所以我创建了一个名为incr和decr的函数来实现这一点:在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
<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。