我不知道为什么会为这个简单的问题而烦恼,但是我正在尝试使用parseFloat()测试一个简单的答题器游戏。但这是行不通的!有什么想法吗?:
<!--ADD POINTS-->
<button onclick="add()">
CLICK ME
</button>
<script>
var score = parseFloat(document.getElementById('score').value);
function add() {
score += 1;
document.getElementById('score').innerHTML = score;
}
</script>
答案 0 :(得分:0)
我不确定您要查找的内容是什么,但是如果您只是想从文本框中获取值并想按增量显示。请参阅此代码段。
.innerHTML
也不是在输入元素中设置值的正确方法。
function add() {
var score = parseFloat(document.getElementById('score').value);
if(!score){
score=0;
}
score += 1;
document.getElementById('score').value = score;
}
<!--ADD POINTS-->
<input type="text" id="score" />
<button onclick="add()">
CLICK ME
</button>
</body>
</html>
答案 1 :(得分:0)
这是一个简化的解决方案,可让您将input
元素的值增加1
:
const add = () => {
const score_container = document.getElementById('score-container');
let score = parseFloat(score_container.value);
score_container.value = score + 1;
};
<!-- ADD POINTS -->
<button onclick="add()">CLICK ME</button>
<input id="score-container" type="text" value="0">
答案 2 :(得分:0)
您正在使用element的.value属性获取分数的初始值。为此,必须将#score元素作为输入字段。
var score = parseFloat(document.getElementById('score').value);
但是在add函数中,您正在使用innerHTML:
document.getElementById('score').innerHTML = score;
InnerHTML不适用于输入字段。
因此,如果您的#score元素是输入字段,则更改如下所示的add函数:
function add() {
score += 1;
document.getElementById('score').value= score;
}
或者,如果它是诸如<div>
或<p>
标签之类的其他html元素,则可以这样更改初始化语句:
var score = parseFloat(document.getElementById('score').innerHtml);
答案 3 :(得分:0)
适合您的工作代码。试试这个。
function add() {
var score = parseFloat(document.getElementById('score').value);
score += 1;
document.getElementById('score').value = score;
}
<input type="text" value="4" id="score"/>
<button onclick="add()">
CLICK ME
</button>
答案 4 :(得分:0)
赋予初始得分0,因此当游戏开始时,得分将为0。
<input type="text" id="score" value="0"/>
单击按钮时,调用以下函数
function add() {
var score = parseFloat(document.getElementById('score').value);
score += 1;
document.getElementById('score').value = score;
}