首页 > 解决方案 > 单击按钮后如何更改文本输入的值?

问题描述

单击按钮后,我试图更改文本输入的值,但是当我运行页面时,文本输入会立即获取该值,而无需单击按钮。就像在这种情况下,文本输入显示“1”而不点击按钮!这段代码有什么问题?

{
    function Button(x) {
        this.x = x;
    }

    Button.prototype.val = document.getElementById("b").onclick = function() {
         return this.x;
    }

    let button = new Button(1)
    document.getElementById("text").value = button.val();
}

标签: javascriptonclickgetelementbyid

解决方案


您应该已经在内部添加了值的更改addEventListener(在您的情况下,它会立即被调用),并且您无需费心使用原型。下面是一个完成这项工作的简单示例 -

const yourValue = 10;
document.getElementById('btn').addEventListener('click',() => document.getElementById('input').value = yourValue)
<input id='input'></input>
<button id='btn'>click me</button>


推荐阅读