使用javascript';s addeventlistener

使用javascript';s addeventlistener,javascript,html,getelementbyid,addeventlistener,Javascript,Html,Getelementbyid,Addeventlistener,我正在尝试使用JavaScript在单击按钮时更改通过文本字段表单输入的输入文本。我很难弄清楚它为什么不起作用。任何帮助都将不胜感激 <!doctype html> <html> <head> <meta charset="utf-8"> <title> </title> <script type="text/javascript"> function

我正在尝试使用JavaScript在单击按钮时更改通过文本字段表单输入的输入文本。我很难弄清楚它为什么不起作用。任何帮助都将不胜感激

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title> </title>

    <script type="text/javascript">


    function start(){
        var button = document.getElementById("button");
        button.addEventListener("click", buttonPressed, false);
    }

    function buttonPressed(){
        var text = document.getElementById("textField").value;
        text.value = "GMU";
    }

    window.addEventListener("load", start, false);

    </script>

    </head>

    <body>
        <form>
            <input id="textField" type="text" value="">
            <input id="button" type="button" value="Button">
        </form>
    </body>
    </html>

函数start(){
var button=document.getElementById(“按钮”);
按钮。addEventListener(“单击”,按钮已按下,错误);
}
功能按钮按下(){
var text=document.getElementById(“textField”).value;
text.value=“GMU”;
}
window.addEventListener(“加载”,开始,错误);
问题在于:

var text = document.getElementById("textField").value;
text.value = "GMU";
看看上面的几行。您正在获取一个元素的值并将其存储到
text
中,但随后尝试分配
text.value
?考虑这种情况:

假设
输入当前的值为“Apples”。做:

将在
文本中存储“苹果”。现在你可以:

text.value = "GMU";
由于
text
是一个字符串,并且您试图访问字符串中不存在的属性
value
,因此它不起作用-您访问
value
属性的次数太多了

现在-请注意,变量存储的值不引用元素的值,这意味着在上面的代码中,
text
只保存属性值,而不是指向实际元素的value属性。因此,您需要直接修改value属性,如下所示:

document.getElementById("textField").value = "GMU";
这是因为您修改了元素本身的属性,而没有将其复制到变量中



您也可以将元素存储到变量中,并执行
element.value=“val”
,因为元素是一个对象,并且对象具有指向内存的引用,因此当您指定给对象时,引用被分配并指向内存中的同一位置。

要更改按钮上的输入文本,单击按钮即可使用按钮上的
addEventListener
。然后,您可以在这之后更改输入字段

var-button=document.getElementById(“按钮”);
var text=document.getElementById(“textField”);
addEventListener('click',function(){
text.value=“GMU”;
});


代码有效。控制台出现错误?谢谢!一旦最短时间过去,我们将接受。@Kevin没问题,很高兴为您提供帮助谢谢您的反馈!绝对有效!
document.getElementById("textField").value = "GMU";