我正在努力使用一个电源按钮,该按钮在按下时会运行两个不同的cgi脚本。
我有一些像这样的代码(我在<main>
标签之间截断了代码): -
<!DOCTYPE html>
<html lang="en">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body class="site">
<main>
<button href="#" class="buttonb" onclick="onoff()"><img class="on-button" src="images/power.png" alt="ON"></button>
</main>
<script>
var isOn=false;
function onoff()
{
if(isOn)
{
window.location.href="/cgi-bin/turnon.pl";
var isOn=true;
}else
{
window.location.href="/cgi-bin/turnoff.pl";
var isOn=false;
}
}
</script>
</body>
</html>
我有一些css格式化的东西,所以它看起来也更好。
出于某种原因,无论我做什么,我都只能在每次按下按钮时运行else选项。即。它只运行off脚本。各个脚本执行从控制台运行时的预期目的。
有人可以了解正在发生的事情,或者可能建议另一种方法来实现同样的目标吗?如果这有所作为,我是这个东西的新手
由于 史蒂夫
答案 0 :(得分:0)
您正在定义局部变量isOn
,而不是设置全局变量isOn
的值。
在isOn
最初定义为false
<button href="" class="buttonb" onclick="onoff()"><img class="on-button" src="" alt="ON"></button>
<script>
var isOn = false;
function onoff() {
if (!isOn) {
isOn = true;
console.log(isOn)
} else {
isOn = false;
console.log(isOn)
}
}
</script>