在输入中显示变量

时间:2016-04-12 16:05:51

标签: javascript html

我在输入/文本框中显示变量值时遇到问题。可变黄金是我想要在输入中显示的那个,因为它每秒更新但我遇到问题。我能够将其显示为文本在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;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

如果您的字段每秒更新一次,则输入字段不是显示该值的有用位置。使用常规HTML显示元素(段落,跨度等)并在那里更新它。保留输入框以供输入。

如果您每秒都覆盖一个输入框,那么很少有用户可以输入并提交可用值。

如果您希望显示看起来像输入框,请添加CSS样式以使其看起来相同。这可能会让用户感到困惑,但如果这就是你想要的,那么设计一个显示元素是比不断更新输入更好的解决方案。

答案 1 :(得分:0)

您正在引用&#39; div&#39;在头部中定义的&#39;而不是来自身体的输入。

摆脱&#39; div&#39;头部内部的元素,它将工作

请参阅https://jsfiddle.net/vdgzs1db/1/

<script>...</script>