微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将按钮的值打印到输入框 onclick 函数?

如何解决如何将按钮的值打印到输入框 onclick 函数?

这里的按钮“1”在点击时在 标签显示值“1”,但第二个按钮“2”在输入框中没有显示值“2”。虽然这两个功能是相同的。

//Working
function one1() {
  onee = document.getElementById("b1").value;
  document.getElementById("ptag").innerHTML += "1";
}
//Not Working
function one2() {
  twoo = document.getElementById("b2").value;
  document.getElementById("mydiv").innerHTML += "1";
}
<input type="number" id="mydiv"><br>
<button id="b1" value="1" onclick="one1()">1</button>
<button id="b2" value="2" onclick="one2()">2</button>
<br>
<p id="ptag">This is p tag</p>

解决方法

您的第二个函数是针对输入而不是段落,因此 innerHTML 不是您想要的。你想要 value 代替

//Working
function one1() {
  onee = document.getElementById("b1").value;
  document.getElementById("ptag").innerHTML += "1";
}
//Not Working
function one2() {
  twoo = document.getElementById("b2").value;
  document.getElementById("mydiv").value += "1";
}
<input type="number" id="mydiv"><br>
<button id="b1" value="1" onclick="one1()">1</button>
<button id="b2" value="2" onclick="one2()">2</button>
<br>
<p id="ptag">This is p tag</p>

,

InnerHtml 属性不适用于输入元素。输入元素不像您的段落元素或任何其他可以包含任何其他 html 元素的元素。

那怎么办? 输入元素具有 value 属性,您可以通过它获取和设置输入元素的值。 document.getElementById("mydiv").value += "1";会为你做这项工作。

另见 - https://www.w3schools.com/jsref/prop_html_innerhtml.asp https://www.w3schools.com/jsref/prop_node_innertext.asp

,

输入类型控件不使用innerHtml来设置或获取值,需要访问控件的value属性。

innerhtml vs value in javascript

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。