Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript全局变量不递增_Javascript - Fatal编程技术网

Javascript全局变量不递增

Javascript全局变量不递增,javascript,Javascript,每次点击提交按钮,我都希望体验增加1。我已经声明经验为全局变量,但是经验不超过2 <html> <head> <script> var Experience = 1; function scenario1() { window.Experience = window.Experience + 1 ; alert(window.Experience); } </script> </head> <body> <f

每次点击提交按钮,我都希望体验增加1。我已经声明经验为全局变量,但是经验不超过2

<html>
<head>
<script>
var Experience = 1;
function scenario1()
{ window.Experience = window.Experience + 1 ;
    alert(window.Experience);

}
</script>
</head>
<body>
<form>
<input type="submit" onclick="scenario1()">
</form>
</body>
</html>

var经验=1;
功能场景1()
{window.Experience=window.Experience+1;
警惕(窗口体验);
}
而不是

<input type="submit" onclick="scenario1()">

试试这个:

<input type="button" value="click!" onclick="scenario1()">

这样,您的浏览器就不会试图发布内容并出错。

而不是

<input type="submit" onclick="scenario1()">

试试这个:

<input type="button" value="click!" onclick="scenario1()">


这样,您的浏览器就不会试图发布内容并出错。

打开开发人员工具并查看“网络”选项卡

单击“提交”按钮时,它将:

  • 运行你的函数
  • 重新加载页面
    • 重置变量
您需要阻止该页面提交

有两种方法

方法1:阻止提交

<html>
  <head>
    <script>
      var Experience = 1;
      function scenario1() {
        // Shorthand way to write it
        window.Experience++;
        alert(window.Experience);
      }
    </script>
  </head>
  <body>
  <form>
    <input type="submit" onclick="scenario1(); return false">
   </form>
  </body>
</html>
<html>
  <head>
    <script>
      var Experience = 1;
      function scenario1() {
        // Shorthand way to write it
        window.Experience++;
        alert(window.Experience);
      }
    </script>
  </head>
  <body>
  <form>
    <button type="button" onclick="scenario1()">Do it</button>
   </form>
  </body>
</html>

打开开发人员工具并查看“网络”选项卡

单击“提交”按钮时,它将:

  • 运行你的函数
  • 重新加载页面
    • 重置变量
您需要阻止该页面提交

有两种方法

方法1:阻止提交

<html>
  <head>
    <script>
      var Experience = 1;
      function scenario1() {
        // Shorthand way to write it
        window.Experience++;
        alert(window.Experience);
      }
    </script>
  </head>
  <body>
  <form>
    <input type="submit" onclick="scenario1(); return false">
   </form>
  </body>
</html>
<html>
  <head>
    <script>
      var Experience = 1;
      function scenario1() {
        // Shorthand way to write it
        window.Experience++;
        alert(window.Experience);
      }
    </script>
  </head>
  <body>
  <form>
    <button type="button" onclick="scenario1()">Do it</button>
   </form>
  </body>
</html>

这其实没有什么问题。它可以工作,你只需要不使用提交按钮。尝试使用常规输入按钮:


这实际上没有什么问题。它可以工作,你只需要不使用提交按钮。尝试使用常规输入按钮:



问题是回发,一旦单击按钮,它将增加值,然后回发,以便重新加载页面,值设置为1,因此需要防止回发。演示问题是回发,一旦单击按钮,它将增加值,然后它回发,以便重新加载页面,并且值设置为1,因此需要防止回发。演示