如何添加文本字段的值

时间:2012-01-24 17:34:05

标签: javascript html forms

我有以下表格。使用按钮,文本字段中的值应该增加或减少。减少按钮工作正常,但增加按钮只是在数字的末尾添加“10”,因此100将变为10010,而不是110。有人能让我知道如何解决这个问题吗?

<form name="hello" id="hello">
<table border=0>
<tr>
<td width=200>
<input type=text id="input" style="height: 30px; width: 200px" name=amount value=5>
</td>
<td>
<table border=0>
<tr height=12><td width=20>
<input type=button value="+" style="height: 15px; width: 25px; text-align:center; vertical-align:center; font-size:8px;" onClick="javascript:this.form.amount.value+=10;">
</td></tr>
<tr height=12><td width=20>
<input type=button value="-" style="height: 15px; width: 25px; text-align:center; vertical-align:center; font-size:8px;" onClick="javascript:this.form.amount.value-=10;">
</td></tr>
</table>
</td>
</tr>
</table>
</form>

6 个答案:

答案 0 :(得分:2)

您的javascript将其视为字符串连接。将值解析为int,进行数学运算,然后设置值。

onClick for +按钮

onClick="javascript: this.form.amount.value = parseInt(this.form.amount.value, 10) + 10;"

答案 1 :(得分:1)

以下是一些可行的代码:

<form name="hello" id="hello">
<table border=0>
<tr>
<td width=200>
<input type=text id="input" style="height: 30px; width: 200px" name=amount value=5>
</td>
<td>
<table border=0>
<tr height=12><td width=20>
<input type=button value="+" style="height: 15px; width: 25px; text-align:center; vertical-align:center; font-size:8px;" onClick="javascript:this.form.amount.value=parseInt(this.form.amount.value,10)+10;">
</td></tr>
<tr height=12><td width=20>
<input type=button value="-" style="height: 15px; width: 25px; text-align:center; vertical-align:center; font-size:8px;" onClick="javascript:this.form.amount.value=parseInt(this.form.amount.value,10)-10;">
</td></tr>
</table>
</td>
</tr>
</table>
</form>

答案 2 :(得分:1)

parseInt()是必需的。

使用此

    <form name="hello" id="hello">
<table border=0>
<tr>
<td width=200>
<input type=text id="input" style="height: 30px; width: 200px" name=amount value=5>
</td>
<td>
<table border=0>
<tr height=12><td width=20>
<input type=button value="+" style="height: 15px; width: 25px; text-align:center; vertical-align:center; font-size:8px;" onClick="javascript: this.form.amount.value = parseInt(this.form.amount.value) + 10;">
</td></tr>
<tr height=12><td width=20>
<input type=button value="-" style="height: 15px; width: 25px; text-align:center; vertical-align:center; font-size:8px;" onClick="javascript:this.form.amount.value-=10;">
</td></tr>
</table>
</td>
</tr>
</table>
</form>

答案 3 :(得分:0)

onClick事件的代码应为:javascript:this.form.amount.value=Number(this.form.amount.value)+10;

Javascript没有PHP之类的字符串连接运算符,因此在对其进行任何算术运算之前必须将其强制转换为数字。

答案 4 :(得分:0)

您需要将this.form.amount.value类型转换为Integer,否则它将被视为String。请使用parseInt()

答案 5 :(得分:0)

Javascript将文本字段的值解释为字符串。您可以使用parseInt()将值转换为数字。

javascript:this.form.amount.value=parseInt(this.form.amount.value, 10)+10;