我在这个问题上停留了大约5个小时,我试图将多个级别分配给一个数独网格(一个网格对应3个不同的级别)。
但是它不工作,不管它给我的第一个函数的结果是什么,我的意思是我写了每个级别的函数代码,我称之为级别-宝贝,不是那么难,噩梦给了任何一个特定的函数,但只有一个有效,我给了所有的函数相同的函数,但它总是选择第一个,不管我在做什么。
HTML编码-
<form method="get" action="./bord.html">
<button onclick="baby()" id="level_1" value="1">Baby</button>
</form>
<form method="get" action="./bord.html">
<button onclick="notSoHard()" id= "level_2" type="submit" value="2">Not so
hard
</button>
</form>
<form method="get" action="./bord.html">
<button onclick="nightmare()" id= "level_3" type="submit"
value="3">Nightmare
</button>
</form>
var level =0
function baby(level){
end()
var level = 30
return level
}
function notSoHard(level){
end()
var level = 50
return level
}notSoHard(level)
function nightmare(level){
end()
var level =70
return level
}nightmare(level)
function end(){
// debugger
if (baby(level) == 30){
return 30;
}if(notSoHard(level) == 50){
return 50;
} if(nightmare(level) == 70){
return 70;
}
}
console.log(end())
我需要的是,在控制台上的结果将是我选择的( 30,50,70)它给我所有的30。
愿上帝保佑你
发布于 2020-09-23 09:59:37
这样如何:
function end(event) {
event.preventDefault();
const value = parseInt(event.currentTarget.value);
var level = 0;
if(value === 1) {
level = 30;
} else if (value === 2) {
level = 50;
} else if (value === 3) {
level = 70;
};
console.log(level);
//Add anything else you want to do with the level here
return level;
};
<form method="get" action="./bord.html">
<button onclick="end(event)" id="level_1" value="1">Baby</button>
</form>
<form method="get" action="./bord.html">
<button onclick="end(event)" id= "level_2" type="submit" value="2">Not so hard</button>
</form>
<form method="get" action="./bord.html">
<button onclick="end(event)" id= "level_3" type="submit" value="3">Nightmare</button>
</form>
你只需要一个函数就可以得到这个值。这里,按钮(1、2或3)的value
属性用于定义要应用的级别。相反,您可以向end
函数传递一个参数来区分按钮。
当我尝试上面的代码时,它会导致堆栈溢出,因为函数之间是递归调用的。最好保持简单:)
https://stackoverflow.com/questions/64024734
复制相似问题