2012-12-20 120 views
3

我想通过单击表单按钮来填充表单上的文本框。以下是我目前使用的代码 - 从选择框示例修改此代码 -通过点击按钮在Javascript中填充文本框

<!DOCTYPE html> 
<html> 

<head> 
    <script> 
     function moveNumbers(){ 
      var no=document.getElementById("no"); 
      var txt=document.getElementById("result").value; 
      txt=txt + option; 
      document.getElementById("result").value=txt; 
     } 
    </script> 
</head> 

<body> 
    <form> 
     Select numbers:<br> 
     <input type="button" value="1" name="no" onclick="moveNumbers()"> 
     <input type="button" value="2" name="no" onclick="moveNumbers()"> 
     <input type="button" value="3" name="no" onclick="moveNumbers()"> 

     <input type="text" id="result" size="20"> 
    </form> 
</body> 

</html> 
+2

'的document.getElementById( “无”)'需要的元素有ID属性设置为“否”。你没有这个。另外,你的函数中有什么“选项”? – j08691

+0

“不”不是id,它是名称。我想你想这个:document.getElementsByName(“no”)[0] .value – Ben

回答

5

这里有一些缺陷。它似乎没有被定义为option。而且您无法检索实际点击的按钮。

你可以做的是通过this.value到你的onclick事件处理程序。这会传递您按下的按钮的值,并使用该值添加到您的文本框值。

<script> function moveNumbers(num) { 
    var txt=document.getElementById("result").value; 
    txt=txt + num; 
    document.getElementById("result").value=txt; 
    } 
</script> 
Select numbers: <br> <input type="button" value="1" name="no" onclick="moveNumbers(this.value)"> 
<input type="button" value="2" name="no" onclick="moveNumbers(this.value)"> 
<input type="button" value="3" name="no" onclick="moveNumbers(this.value)"> 
<input type="text" id="result" size="20"> 

http://jsfiddle.net/cMN44/

+0

碎纸机 - 完美的作品!谢谢! – GRicks

1

假设你想插入文本框按钮的值:

<!DOCTYPE html> 
<html> 

<head> 
    <script> 
     function moveNumbers(number){ 
      document.getElementById("result").value=number; 
     } 
    </script> 
</head> 

<body> 
    <form> 
     Select numbers:<br> 
     <input type="button" value="1" name="no" onclick="moveNumbers(this.value)"> 
     <input type="button" value="2" name="no" onclick="moveNumbers(this.value)"> 
     <input type="button" value="3" name="no" onclick="moveNumbers(this.value)"> 

     <input type="text" id="result" size="20"> 
    </form> 
</body> 

</html> 
相关问题