[英]How can I add the value from button to the text box by click?
const button = document.getElementById('#1'); button.addEventListener('click', e=>{ e.preventDefault() document.getElementByName('field).innerText = 1; })
<div class="header"> <input type="text" name="field" id="field"> </div> <div class="btn"><input type="button" id="1" class="button" value="1"></div> <div class="btn"><input type="button" id="2" class="button" value="2"></div> <div class="btn"><input type="button" id="3" class="button" value="3"></div>
在这里学习一些东西。 getElementById
接受一个没有#
的字符串作为参数。 您的getElementByName('field)
也有拼写错误(缺少单引号)。 此外,没有getElementByName
- 它将是getElementsByName
(复数)。 最后,您希望对某个类的所有按钮应用相同的侦听器,以便将它们收集起来(我使用了document.querySelectorAll('.button')
但getElementsByName("button")
也可以)。 拥有该集合后,请遍历它以设置事件侦听器。
最后,当您想更改 input 标签中的文本时,您可以通过value
,而不是通过innterText
。 innerText
用于非表单 HTML 元素
const buttons = document.querySelectorAll('.button'); const field = document.querySelector('[name=field]'); buttons.forEach(button => button.addEventListener('click', e => { e.preventDefault() let f = field.value.trim()? field.value.trim().split(",") : []; f.push(e.target.value); field.value = f.join(",") }))
<div class="header"> <input type="text" name="field" id="field"> </div> <div class="btn"><input type="button" id="1" class="button" value="1"></div> <div class="btn"><input type="button" id="2" class="button" value="2"></div> <div class="btn"><input type="button" id="3" class="button" value="3"></div>
当您尝试获取 DOM 元素的值时,您需要获取元素引用,然后使用value
属性。 例如:
const buttonValue = document.getElementById('submit').value;
使用getElementById
您不需要使用#1
,只需1
就足够了。 此外, getElementByName
似乎不是一个合适的 DOM 操作函数,替代方法是getElementsByName
(获取具有指定名称的所有元素的列表)。
记住这一点,请参阅下面的代码:
const button = document.getElementById('1'); button.addEventListener('click', e=>{ e.preventDefault(); document.getElementById('field').value = e.target.value; });
<div class="header"> <input type="text" name="field" id="field"> </div> <div class="btn"> <input type="button" id="1" class="button" value="1"> </div> <div class="btn"><input type="button" id="2" class="button" value="2"></div> <div class="btn"><input type="button" id="3" class="button" value="3"></div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.