按钮单击时替换cgi脚本

时间:2017-07-23 02:52:06

标签: javascript jquery

我正在努力使用一个电源按钮,该按钮在按下时会运行两个不同的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脚本。各个脚本执行从控制台运行时的预期目的。

有人可以了解正在发生的事情,或者可能建议另一种方法来实现同样的目标吗?如果这有所作为,我是这个东西的新手

由于 史蒂夫

1 个答案:

答案 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>