0

我正在测试一些 javascript,我想将数字打印到输入文本类型中。我有三个按钮,每个按钮都有一个数字。到目前为止,每次我点击每个数字时都会打印这些数字。但是如果我打印两个按钮,或者一个按钮,两次,第一个数字被替换。 我想将每个数字打印到同一个文本字段中。一个接一个地。

这是我的表格:

<input type="text" name="resultado" id="resultado"/>
<input id="1" name="1" onClick="uno();" type="button" value="1"/> 
<input id="2" name="2" onClick="dos();" type="button" value="2"/> 
<input id="3" name="3" onClick="tres();" type="button" value="3"/>
...

这是我的javascript:

function uno() {
    n1=document.getElementById('1').value;
    document.getElementById('resultado').value=n1;
}
function dos() {
    n2=document.getElementById('2').value;
    document.getElementById('resultado').value=n2;
}
function tres() {
    n3=document.getElementById('3').value;
    document.getElementById('resultado').value=n3;

我该如何做到这一点?此外,我知道应该有一种更好的方法来打印出来,而不需要为每个按钮提供一个功能?

4

3 回答 3

2

不是 using =,它在旧值上分配一个新值,而是 try +=,它将一个值附加到现有值。

于 2013-11-02T03:28:51.240 回答
2

正如@meagar 所说,使用+=运算符而不是=. 但是关于“无需每个按钮都需要一个函数的更好的打印方式”:对函数使用参数,如下所示:

function appendToField(number){
    document.getElementById('resultado').value+=number;
}

和html:

<input type="text" name="resultado" id="resultado"/>
<input id="1" name="1" onClick="appendToField(1);" type="button" value="1"/> 
<input id="2" name="2" onClick="appendToField(2);" type="button" value="2"/> 
<input id="3" name="3" onClick="appendToField(3);" type="button" value="3"/>
于 2013-11-02T03:32:06.873 回答
0

你可以简单地这样做:

<input type="text" name="resultado" id="resultado"/>
<input id="1" name="1" onClick="document.getElementById('resultado').value+=this.id" type="button" value="1"/> 
<input id="2" name="2" onClick="document.getElementById('resultado').value+=this.id" type="button" value="2"/> 
<input id="3" name="3" onClick="document.getElementById('resultado').value+=this.id" type="button" value="3"/>

或者,如果您使用任何服务器端语言,假设它是,那么您可以使用循环php进一步简化它:for

<input type="text" name="resultado" id="resultado"/>
<?php
for($i=1;$i<=3;$i++){
?>
<input id="<?php echo $i;?>" name="<?php echo $i;?>"  onClick="document.getElementById('resultado').value+=this.id" type="button" value="<?php echo $i;?>"/> 
<?php
}
?>
于 2013-11-02T03:36:28.973 回答