簡體   English   中英

輸入值是文本不變

[英]Value of input is text not changing

我有以下代碼

 //main.js var textinput = document.getElementById('textinput').value; function textChanger() { setTimeout(function() { textinput = 'newtext'; }, 3000); }
 <.doctype html> <html> <head> <title> some title </title> </head> <body> <input type="text" value="sometext" id="textinput" oninput="textChanger()"> <script type="text/javascript" scr="main.js"></script> </body> </html>

我希望 textinput 的值應該在 3 秒后改變,但它沒有改變。

您應該更改輸入的value屬性。

 var textinput = document.getElementById('textinput'); function textChanger() { setTimeout(function() { textinput.value = 'newtext'; }, 3000); } textChanger();
 <input type="text" value="sometext" id="textinput" oninput="textChanger()">

你可以在這里找到很多細節:

設置輸入字段的值

發生這種情況是因為您將文本從<input>復制到變量。 與對象不同,原語(如字符串)是按值傳遞的。 這意味着當您更新變量時,您不會更新<input>值。

此代碼有效:

 var inputElement = document.getElementById('textinput'); function textChanger() { setTimeout(function() { inputElement.value = 'newtext'; }, 3000); }
 <.DOCTYPE html> <!-- Don't forget the doctype! --> <html> <head> <title> some title </title> </head> <body> <input type="text" value="sometext" id="textinput" oninput="textChanger()"> <script type="text/javascript" scr="main.js"></script> </body> </html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM