我在输入/文本框中显示变量值时遇到问题。可变黄金是我想要在输入中显示的那个,因为它每秒更新但我遇到问题。我能够将其显示为文本在html虽然..如果我有点不清楚...
<!DOCTYPE html>
<html>
<head>
<title>Money System</title>
<div id="gold"></div>
<div id="goldpersecond"></div>
<div id="lvl"></div>
<script>
var gold = 0;
var goldpersecond = 0;
var lvl = 1;
//end of variables list
function lvlup(){
lvl = lvl + 1;
goldpersecond = lvl - 1;
if (goldpersecond >= 1){
window.setInterval(
function () {
gold = gold + goldpersecond;
document.getElementById("gold").innerHTML = "You have " + gold + " gold!";
}, 1000);
document.getElementById("lvl").value = lvl;
}
}
</script>
</head>
<body>
<input type="text" value="Level" disabled name="test">
<input type="text" value="0" id="lvl" readonly/>
<br>
<input type="text" value="Gold" disabled name="test"></input>
<input type="text" value="0" id="Gold" readonly/>
<br>
<button type="button" onClick= "lvlup()" />Level Up!</button>
</body>
</html>
&#13;
答案 0 :(得分:1)
如果您的字段每秒更新一次,则输入字段不是显示该值的有用位置。使用常规HTML显示元素(段落,跨度等)并在那里更新它。保留输入框以供输入。
如果您每秒都覆盖一个输入框,那么很少有用户可以输入并提交可用值。
如果您希望显示看起来像输入框,请添加CSS样式以使其看起来相同。这可能会让用户感到困惑,但如果这就是你想要的,那么设计一个显示元素是比不断更新输入更好的解决方案。
答案 1 :(得分:0)
您正在引用&#39; div&#39;在头部中定义的&#39;而不是来自身体的输入。
摆脱&#39; div&#39;头部内部的元素,它将工作
请参阅https://jsfiddle.net/vdgzs1db/1/
<script>...</script>