单击按钮后向文本字段添加内容

时间:2016-12-07 04:05:22

标签: javascript jquery html

所以我想,当点击按钮a时,将字母添加到文本字段。但是,我似乎无法弄清楚它为什么不起作用。我在这里从堆栈交换中获取了代码。任何帮助都一如既往地受到赞赏。

<html>

<head>
<title>Test</title>
<style>
    tab1 { padding-left: 8em; }
    tab2 { padding-left: 12em; }
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js'></script>

</head>
<body style="background-color:powderblue;">

<tab2><input id="bar a" style="height:20px;width:120px" type="button" value="a" onlick=buttonPress('a')/><br><br>


<tab1><input id ="stringInput" type="text" value=""/><br>

<script language="javascript" type="text/javascript">


    var added;
function buttonPress(added)
{
    document.getElementById("bar a").addEventListener('click', function () {
    var text = document.getElementById('stringInput');
    text.text = (text.text + added);
});
}
</script>
</body>
</html>

4 个答案:

答案 0 :(得分:1)

您不需要附加event,因为您已经在调用函数onclick

您需要value的{​​{1}}属性而不是textbox

text

你的function buttonPress(added) { var text = document.getElementById('stringInput'); text.value= (text.value + added); } 的html也是无效的。它应该是

button

答案 1 :(得分:1)

<html>

<head>
<title>Test</title>
<style>
    tab1 { padding-left: 8em; }
    tab2 { padding-left: 12em; }
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js'></script>

</head>
<body style="background-color:powderblue;">
<input type="text" value="" id="test1">
<input id ="test2" type="text" value="ram"/><br>
<input type="button" onclick="addInput()"/ value="click">

<span id="responce"></span>
<script>
function addInput()
{
     var test1_value= document.getElementById('test1').value;
     var test2_value= document.getElementById('test2').value;
     document.getElementById('test2').value=''+test2_value+''+test1_value;
}
</script>
</body>
</html>

答案 2 :(得分:1)

您的代码中存在一些问题。不确定它是否是代码中的拼写错误。

例如onlick=buttonPress('a')。它应该是onclick并且处理函数应该是引号。请参阅以下html。

也无需在函数内添加addEventListener。您已经在html代码中添加了侦听器。如果在函数内添加侦听器,则首次单击它将再次尝试添加该事件。

参考下面的js。希望这会有用

var added = " New Text";
function buttonPress(added) {
  var text = document.getElementById('stringInput');
  text.value = (text.value + added);
}

<强> HTML

<input id="bar" style="height:20px;width:120px" type="button" value="a" onclick='buttonPress("a")' />

DEMO

答案 3 :(得分:-1)

  1. 你的onclick被打错了。这将被视为自定义属性。
  2. 将buttonPress(&#39; a&#39;)放入&#34;&#34;。它将成为onclick =&#34; buttonPress(&#39; a&#39;)&#34;。当它不在&#34;&#34;。
  3. 内时会引发错误
  4. 由于您使用id为&#34; stringInput&#34;的组件的输入,因此text属性不起作用,因此您必须使用value属性。