Javascript 第一次,密码字段

Javascript 第一次,密码字段,javascript,html,Javascript,Html,现在修好了 它基本上是一个文本框,当输入正确的文本时,应该会导致一些事情发生,我有它的代码,这是我第一次使用html。这不是为了什么,只是为了好玩 <body> <center> <input id="passfield" type="text" value="" /> <input id="check" type="button" value="Check" onclick="check();"/>

现在修好了

它基本上是一个文本框,当输入正确的文本时,应该会导致一些事情发生,我有它的代码,这是我第一次使用html。这不是为了什么,只是为了好玩

<body>
    <center>
        <input id="passfield" type="text" value="" />
        <input id="check" type="button" value="Check" onclick="check();"/>
        <script>
            var field = document.getElementById("passfield").value;
            var pass = "password";
            function check() {
                if field === pass then {
                    window.location.href = 'the site i want it to go to';
                }; 
            };
            document.getElementById("check").onclick = check();
        </script>
    <center>
</body>

var field=document.getElementById(“passfield”).value;
var pass=“password”;
函数检查(){
如果字段===通过,则{
window.location.href='我想要它去的网站';
}; 
};
document.getElementById(“check”).onclick=check();

控制台显示:
check()不是函数

您有几个问题:

  • 您应该将变量
    字段
    传递
    移动到函数中,以便在调用函数时定义它们。否则,它们将不会更新-这意味着
    字段
    将始终为空(因为当输入值为
    ''
    时,它是在加载页面时设置的)

  • 在Javascript中添加事件侦听器,而不是使用“onclick”属性。它之所以更好,是因为它将所有Javascript放在一起,而且您不必每次遇到JS错误时都浏览HTML

您有一些格式问题-特别是
if
应该使用以下语法:

if (condition) {
 then do this
} else {
  do this
}
你可以退房


函数检查(){
var field=document.getElementById(“passfield”).value;
var pass=“password”;
如果(字段===通过){
window.location.href=“我想要它去的网站”;
}
}
document.getElementById(“检查”).addEventListener(“单击”,检查)

控制台说check()不是函数这里的问题是什么?问题似乎是关于为什么
check()不起作用。请编辑您的问题,而不是添加注释,谢谢!更改if by:“if(field==pass){…}”不要将visual basic与javascript混合使用HeHeHe您的第一点是错误的,它们被声明为全局变量,check函数可以使用它们,这不是一个好的做法,因为它在全局范围内,所以需要花费很多时间来访问它们。这是正确的。按照编写代码的方式,字段的值永远不会更新,而是立即初始化为空字符串。担心速度和全局范围显然与处于学习阶段的人无关。问题在于字段var,因为它需要将文档。。。onclick中的值,但密码否,在第一点中引用这两个变量是错误的。我同意你评论的最后一部分,但答案和问题是为每个人准备的。事实上,问题是“为什么check不是一个函数”,只是因为if错误语法
<body>
  <center>
    <input id="passfield" type="text" value="" />
    <input id="check" type="button" value="Check" />
    <center>
      <script>
        function check() {
          var field = document.getElementById("passfield").value;
          var pass = "password";
          if (field === pass) {
            window.location.href = "the site i want it to go to";
          }
        }
        document.getElementById("check").addEventListener('click', check)
      </script>
</body>