文件未定义javascript错误 [英] document is not defined javascript error

查看:82
本文介绍了文件未定义javascript错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经完成了一个项目并且运行得很完美。我一直收到错误通知,说明'文档'没有定义。每次我处理文档时都会收到相同的通知。有没有办法可以防止它被识别为错误?

I have finished a project and it runs perfectly.I keep getting error notifications that 'document' is not defined. I have the same notification every time I address the document. Is there a way I can keep this from being recognized as an error?

JS:

  function check_prime() {
      var input = document.getElementById("enteredNumber").value;
          var number = parseInt(input);


        if (isNaN(number)) {
       alert("Oops! Please enter a valid number.");
            document.getElementById("enteredNumber").value="";
            document.getElementById("answer").innerHTML =  "";
            document.getElementById("enteredNumber").focus();

        }

        else if (input.length === 0) {
  alert("Please enter a valid input");
            document.getElementById("enteredNumber").focus();

        }

       else if (!isNaN(number)) {
                        var divisors = is_perfect(number);
                        if (divisors) {
                            document.getElementById("answer").innerHTML = "Congratulations! " + number + " is a perfect number.";
                      alert("Congratulations! " + number + " is a perfect number. The divisors are: " + divisors.toString() + ".") ;


                        }
                        else {
                            document.getElementById("answer").innerHTML = "I'm sorry! " + number + " is not a perfect number."
                        }
                    }
                    else {
                        document.getElementById("answer").innerHTML = "Please enter a number.";
                    }
                }


function is_perfect(number) {
var temp = 0;
var divisors = [];
for(var i=1;i<=number/2;i++) {
    if (number%i === 0) {
        divisors.push(i);
        temp += i;
    }
  }  

return temp === number ? divisors : null;
 }



    function clear_textbox(){
      document.getElementById("answer").innerHTML =  "";
      document.getElementById("enteredNumber").value="";
      document.getElementById("enteredNumber").focus();

    }

HTML:

<!DOCTYPE html>
<html lang="en">
  <head>
  <!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">


    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="main.css">
    <link href="https://fonts.googleapis.com/css?family=Oswald:700" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300" rel="stylesheet">


    </head>



  <body>
<h2> PERFECTION </h2>
<h3> PLEASE ENTER A NUMBER: </h3><br>
  <div>
<input type="text" id="enteredNumber" autofocus value = "" /> <br><br>
<input type="submit" value="Check" 
title="Perfection"
onclick="check_prime()" />
<input type="submit" value="Clear" 
 title="Click here to clear the text box."
onclick="clear_textbox()" />
 <br><br>
<p id="answer"></p>
         </div>



<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script    src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
<script src="app.js"> 

  </script>  


我是还得到警报没有定义的错误...我不知道我是否错过了什么。

I am also getting errors that 'alert' is not defined... I don't know if I missed something.

推荐答案

更新:新信息



尝试添加

Update: new info

Try adding

/*eslint-env browser*/

位于顶部。


错误:未定义'document'。 [no-undef] document.getElementById(answer)。innerHTML =;

ERROR: 'document' is not defined. [no-undef] document.getElementById("answer").innerHTML = "";

此错误是一个lint错误(参见 eslint [no-undef] )。它不会影响您在浏览器中运行的代码,但是当您检测到lint错误时,您的本地构建可能会停止运行。

This error is a lint error (See eslint [no-undef]). It will not affect your code running in a browser, but your local build may be stopped from running when it detects lint errors.

您可能正在使用 eslint ,请查看本指南,您应该configure

You are probably using eslint, so check out this guide and you should configure

{
  "env": {
    "browser": true
  }
}

.eslintrc 文件。

也许更简单的方法就是添加此评论:

Maybe an even easier way is just add this comment:

/*eslint-env browser*/






您的代码似乎正在运行。您是否在浏览器控制台中收到该错误?如果不是,它可能只是一个lint错误。


Your code appears to be working. Are you getting that error in the browser console? If not it might just be a lint error.

这将真正有助于粘贴你得到的确切错误信息。

It would really help to paste the exact error message you are getting.

function check_prime() {
  var input = document.getElementById('enteredNumber').value;
  var number = parseInt(input);

  if (isNaN(number)) {
    alert('Oops! Please enter a valid number.');
    document.getElementById('enteredNumber').value = '';
    document.getElementById('answer').innerHTML = '';
    document.getElementById('enteredNumber').focus();
  } else if (input.length === 0) {
    alert('Please enter a valid input');
    document.getElementById('enteredNumber').focus();
  } else if (!isNaN(number)) {
    var divisors = is_perfect(number);
    if (divisors) {
      document.getElementById('answer').innerHTML =
        'Congratulations! ' + number + ' is a perfect number.';
      alert(
        'Congratulations! ' +
        number +
        ' is a perfect number. The divisors are: ' +
        divisors.toString() +
        '.'
      );
    } else {
      document.getElementById('answer').innerHTML =
        "I'm sorry! " + number + ' is not a perfect number.';
    }
  } else {
    document.getElementById('answer').innerHTML = 'Please enter a number.';
  }
}

function is_perfect(number) {
  var temp = 0;
  var divisors = [];
  for (var i = 1; i <= number / 2; i++) {
    if (number % i === 0) {
      divisors.push(i);
      temp += i;
    }
  }

  return temp === number ? divisors : null;
}

function clear_textbox() {
  document.getElementById('answer').innerHTML = '';
  document.getElementById('enteredNumber').value = '';
  document.getElementById('enteredNumber').focus();
}

<h2> PERFECTION </h2>
<h3> PLEASE ENTER A NUMBER: </h3><br>
<div>
  <input type="text" id="enteredNumber" autofocus value="" /> <br><br>
  <input type="submit" value="Check" title="Perfection" onclick="check_prime()" />
  <input type="submit" value="Clear" title="Click here to clear the text box." onclick="clear_textbox()" />
  <br><br>
  <p id="answer"></p>
</div>

这篇关于文件未定义javascript错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆