Javascript 这些函数是';t合作:/
Javascript 这些函数是';t合作:/,javascript,Javascript,函数myFunction(){ var x=数学地板((数学随机()*10)+1); document.getElementById(“demoX”).innerHTML=x; 变量y=数学地板((数学随机()*10)+1); document.getElementById(“demoY”).innerHTML=y; document.getElementById(“deop”).innerHTML=“+”; document.getElementById(“相等”).innerHTML=“=”
函数myFunction(){
var x=数学地板((数学随机()*10)+1);
document.getElementById(“demoX”).innerHTML=x;
变量y=数学地板((数学随机()*10)+1);
document.getElementById(“demoY”).innerHTML=y;
document.getElementById(“deop”).innerHTML=“+”;
document.getElementById(“相等”).innerHTML=“=”;
document.getElementById(“输入”).innerHTML=“”;
document.getElementById(“检查”).innerHTML=“检查”;
}
函数myBunction(){
myFunction();
变量b,文本;
//使用id=“numb”获取输入字段的值
b=document.getElementById(“输入”).value;
var D=document.getElementById(“demoX”).value;
var E=document.getElementById(“demoY”).value;
//如果x不是一个数字或小于1或大于10
如果(b==E+D){
text=“输入正常”;
}否则{
text=“输入无效”;
}
document.getElementById(“demo”).innerHTML=text;
}
单击该按钮可显示介于1和10之间的随机数
试试看
您的问题有四个方面。一:
document.getElementById("demoX").value
不返回任何内容。
元素没有值
。它有一个innerHTML
,正是您用来设置它的
二:
E
和D
将是字符串。添加两个字符串的结果是一个组合字符串
“4”+“3”
不是“7”
,而是“43”
首先要将它们转换为数字。除此之外,一元的+
可以做到这一点。尝试:
b = +b;
D = +D;
E = +E;
if (b == E + D) {
第三:您希望在读取所有值之后而不是之前重置表单
第四:通过innerHTML动态创建所有这些固定的输入字段和按钮有什么用?直接把它们放到HTML中,让它们坐在那里
所以
函数重置(){
var x=数学地板((数学随机()*10)+1);
document.getElementById(“demoX”).innerHTML=x;
变量y=数学地板((数学随机()*10)+1);
document.getElementById(“demoY”).innerHTML=y;
document.getElementById(“输入”).value=“”;
document.getElementById(“deop”).innerHTML=“+”;
document.getElementById(“相等”).innerHTML=“=”;
}
函数检查(){
变量b、D、E、文本;
//使用id=“numb”获取输入字段的值
b=+document.getElementById(“输入”).value;
D=+document.getElementById(“demoX”).innerHTML;
E=+document.getElementById(“demoY”).innerHTML;
如果(b==E+D){
text=“输入正常”;
}否则{
text=“输入无效”;
}
document.getElementById(“demo”).innerHTML=text;
重置();
}
重置()代码>
单击该按钮可显示介于1和10之间的随机数
检查
已解决且更好的代码
试验
//=========生成问题|=====//
函数myGenerator(){
var x=数学地板((数学随机()*100)+1);
document.getElementById(“demoX”).innerHTML=x;
变量y=数学地板((数学随机()*100)+1);
document.getElementById(“demoY”).innerHTML=y;
document.getElementById(“deop”).innerHTML=“+”;
document.getElementById(“相等”).innerHTML=“=”;
document.getElementById(“numbs”).innerHTML=“”;
document.getElementById(“检查”).innerHTML=“检查”;
}
//======检查给定的解决方案|=====//
函数myChecker(){
变量a,文本;
a=document.getElementById(“numb”).value;
var b=parseFloat(document.getElementById(“demoX”).textContent);
var c=parseFloat(document.getElementById(“demoY”).textContent);
//======简单如果|=====//
如果(a==b+c){
警惕(“祝贺”);
text=“右”;
}否则{
警惕(“可能下次”);
text=“错误”;
}
document.getElementById(“demo”).innerHTML=text;
//======只是为了控制|=====//
控制台日志(a);
控制台日志(b);
控制台日志(c);
}
单击开始
试试看
您是否尝试过document.getElementById(“demoX”).text()
?@AlexPavlov,但这不起作用。这里没有jQuery。@AlexPavlov,这是一个jQuery方法。香草Javascript只是.text。document.getElementById(“demoX”)返回什么?如果您将其记录在控制台日志中,您将一无所获,因为span没有价值,请使用innerHTML或innerTEXT,而不是您本可以为您的问题选择更好的标题,思考标题可以帮助您了解正在发生的事情,最终您可以自己解决问题。答案不错,也许我不会提供完整的解决方案让OP自己解决;)@Andrea我相信OP在任何情况下都有很多需要发现的地方,给他们一点先发制人的机会不会有什么坏处。因为你花了这么多时间去做,而且@Tomalak费心强调你所有的错误,我会给他一些信任,让他接受他的答案,而不是重写一个,但这只是我的意见;)
b = +b;
D = +D;
E = +E;
if (b == E + D) {
<script>
//=====|Generate the problem|=====//
function myGenerator() {
var x = Math.floor((Math.random() * 100) + 1);
document.getElementById("demoX").innerHTML = x;
var y = Math.floor((Math.random() * 100) + 1);
document.getElementById("demoY").innerHTML = y;
document.getElementById("demoP").innerHTML = " + ";
document.getElementById("equal").innerHTML = " = ";
document.getElementById("numbs").innerHTML = "<input id=numb>";
document.getElementById("check").innerHTML = "<button>Check</button>";
}
//=====|Check the given solution|=====//
function myChecker() {
var a, text;
a = document.getElementById("numb").value;
var b = parseFloat(document.getElementById("demoX").textContent);
var c = parseFloat(document.getElementById("demoY").textContent);
//=====|Simple if|=====//
if (a == b + c) {
alert("Congratulation");
text = "Right";
} else {
alert("Maybe next time");
text = "Wrong";
}
document.getElementById("demo").innerHTML = text;
//=====|Just for control|=====//
console.log(a);
console.log(b);
console.log(c);
}
</script>
<h1>Click to start</h1>
<button onclick="myGenerator()">Try it</button>
<br>
<br>
<!--=====|Hidden Stuff|=====//-->
<span id="demoX"></span>
<span id="demoP"></span>
<span id="demoY"></span>
<span id="equal"></span>
<span onclick="myChecker()" id=check></span>
<span id="numbs"></span>
<!--=====|Response|=====//-->
<p id="demo">