Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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变量,在外部js文件中使用eventlistener_Javascript - Fatal编程技术网

未定义Javascript变量,在外部js文件中使用eventlistener

未定义Javascript变量,在外部js文件中使用eventlistener,javascript,Javascript,刚开始学习javascript并开始使用外部js文件。 开始尝试创建密码强度检查器。 但传球一直没有定义。 我似乎找不到问题。 谢谢你的时间和帮助 js文件 pass.addEventListener('keyup', function(){ stength(); }) function strength() { var val = document.getElementById("pass").value; var status = document.getElementById(

刚开始学习javascript并开始使用外部js文件。 开始尝试创建密码强度检查器。 但传球一直没有定义。 我似乎找不到问题。 谢谢你的时间和帮助

js文件

pass.addEventListener('keyup', function(){
  stength();
})
function strength() {
  var val = document.getElementById("pass").value;
  var status = document.getElementById("length").value;
  var counter = 0;

  if (val != ""){
    if(val.length <= 6)
      counter=1;
    if(val.length >= 7 && val.length <= 10)
      counter=2;
    if(val.length < 10)
      counter=3;

    if (counter == 1) {
      status.innerHTML="Weak";
      status.style.background="#fc2407";
      status.style.color="#ffffff";
    }
    if (counter == 2) {
      status.innerHTML="Good";
      status.style.background="#fc9e07";
      status.style.color="#ffffff";
    }
    if (counter == 3) {
      status.innerHTML="Strong";
      status.style.background="#21dd53";
      status.style.color="#ffffff";
    }
  }
}

pass.addEventListener('keyup',function(){
力量();
})
功能强度(){
var val=document.getElementById(“pass”).value;
var status=document.getElementById(“长度”).value;
var计数器=0;
如果(val!=“”){
如果(val.length=7&&val.length欢迎使用SO

如果这是您的全部代码,那么您似乎从未真正定义过pass是什么。 在引用
pass
之前,请尝试将其放在代码的顶部

var pass=document.getElementById('pass');

所以你的代码应该是这样的

var pass = document.getElementById('pass');
pass.addEventListener('keyup', function(){
  stength();
})
或者,如果您不打算再次引用该变量,您可以这样做

document.getElementById('pass').addEventListener('keyup', function(){
  stength();
})
欢迎来到SO

如果这是您的全部代码,那么您似乎从未真正定义过pass是什么。 在引用
pass
之前,请尝试将其放在代码的顶部

var pass=document.getElementById('pass');

所以你的代码应该是这样的

var pass = document.getElementById('pass');
pass.addEventListener('keyup', function(){
  stength();
})
或者,如果您不打算再次引用该变量,您可以这样做

document.getElementById('pass').addEventListener('keyup', function(){
  stength();
})
那样做

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Title</title>
  </head>
  <body>
    <div class="wrap text-center">
      <p class="head">Enter Password</p>
      <input type="password" id="pass"/>
    </div>
    <div class="wrap text-center">
      <p class="head"> Password Strength</p>
      <p ckass="strength" id="length"></p>
    </div>
    <script src="index.js"></script>
  </body>
</html>

标题

输入密码

密码强度

HTML也是一个自上而下的解释器

做到这一点

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Title</title>
  </head>
  <body>
    <div class="wrap text-center">
      <p class="head">Enter Password</p>
      <input type="password" id="pass"/>
    </div>
    <div class="wrap text-center">
      <p class="head"> Password Strength</p>
      <p ckass="strength" id="length"></p>
    </div>
    <script src="index.js"></script>
  </body>
</html>

标题

输入密码

密码强度


HTML也是一个自上而下的解释器

console中的错误是什么?什么是“pass”?它是否应该是一个用该ID表示DOM元素的全局解释器(注意,并非所有浏览器在这方面的行为都相同)?控制台上的错误是:ReferenceError:pass未定义dex.js:6:1pass是这样的,当用户输入密码时,它会运行强度函数控制台中的错误是什么?什么是“pass”?它应该是一个用该ID表示DOM元素的全局(注意,并非所有浏览器在这方面的行为都相同)控制台上的错误是:ReferenceError:pass未定义dex.js:6:1pass是这样的,当用户输入密码时,它会运行强度函数谢谢您的回答!我已经尝试了``var pass=document.getElementById('pass'))“``但是我得到了以下错误:TypeError:pass是nullindex.js:9:1@Newt哦,是的,我错过了您在创建页面上的元素之前引用脚本的部分。我很抱歉。我看到先生刚刚发布了修复程序。我不想在我的回答中复制它。非常感谢您的帮助:)谢谢您的回答!我已经尝试了``var pass=document.getElementById('pass'))“``但是我得到了以下错误:TypeError:pass是nullindex.js:9:1@Newt哦,是的,我错过了您在创建页面上的元素之前引用脚本的部分。我很抱歉。我看到先生刚刚发布了修复程序。我不想在我的回答中复制它。非常感谢您的帮助:)