Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/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没有';I don’我没想到会这样_Javascript - Fatal编程技术网

Javascript没有';I don’我没想到会这样

Javascript没有';I don’我没想到会这样,javascript,Javascript,问题是,当我输入正确的时间和错误的分钟数时,它总是返回我:“糟糕”和“非常好”。我不知道出了什么问题,你能帮我一下吗 我有以下html和JS: <!DOCTYPE html> <html> <body> <script language="Javascript"> var d = new Date(); var h = d.getHours(); var h1 = do

问题是,当我输入正确的时间和错误的分钟数时,它总是返回我:“糟糕”和“非常好”。我不知道出了什么问题,你能帮我一下吗

我有以下html和JS:

<!DOCTYPE html>
<html>
   <body>
       <script language="Javascript">
          var d = new Date();
          var h = d.getHours();
          var h1 = document.forms["INICI"].starthour.value;
          var m = d.getMinutes();
          var m1 = document.forms["INICI"].startminut.value;

          function myHour() {
               if ( h==h1 ) {
                   document.write("nice"+"<br>");
               } else {
                   document.write("bad"+"<br>");
               }
          }

          function myMinut() {
               if ( m1==m ){
               document.write("very nice"+"<br>");
               } else {
               document.write("very bad"+"<br>")
              }
          }
          </script>

          <form name="INICI">
          start hour: <input name="starhour"/> <br />
          <br>
          start minut: <input name="startminut"/> <br />
          <input id="insert1" 
                 onclick="myHour(); myMinut();" 
                 type="submit" 
                 value="Click" />
          </form>
    </body>
</html>

var d=新日期();
var h=d.getHours();
var h1=document.forms[“INICI”].starthour.value;
var m=d.getMinutes();
var m1=document.forms[“INICI”].startminut.value;
函数myHour(){
如果(h==h1){
文档。写(“尼斯”+“
”); }否则{ 文件。写入(“坏”+“
”); } } 函数myMinut(){ 如果(m1==m){ 写(“非常好”+“
”); }否则{ document.write(“非常糟糕”+“
”) } } 开始时间:

开始分钟数:
(我是新来的……抱歉,如果我把这篇文章写得很糟)

你有一个打字错误:

<input name="starhour"/>

需要

<input name="starthour"/>


另外,将脚本标记放在正文的末尾

当页面加载时,您正在设置变量,以便它们始终相同

如果你把它们放在函数中,这个问题就可以解决了

var d = new Date();
var h = d.getHours();
var m = d.getMinutes();


function myHour()
{
    var h1 = document.forms["INICI"].starthour.value;
    if (h==h1){
     document.write("nice"+"<br>");
    }
    else{
        document.write("bad"+"<br>");
    }
}

function myMinut()
{
    var m1 = document.forms["INICI"].startminut.value;
    if (m1==m){
        document.write("very nice"+"<br>");
    }
    else{
        document.write("very bad"+"<br>")
    }
}
var d=新日期();
var h=d.getHours();
var m=d.getMinutes();
函数myHour()
{
var h1=document.forms[“INICI”].starthour.value;
如果(h==h1){
文档。写(“尼斯”+“
”); } 否则{ 文件。写入(“坏”+“
”); } } 函数myMinut() { var m1=document.forms[“INICI”].startminut.value; 如果(m1==m){ 写(“非常好”+“
”); } 否则{ document.write(“非常糟糕”+“
”) } }
我改进了你的代码。这是它的一个工作版本

<!DOCTYPE html>
<html>
<body>
    <form name="INICI">
        start hour:
        <input name="starthour" />
        <br />
        <br>
        start minut:
        <input name="startminut" />
        <br />
        <input id="insert1" onclick="EvaluateResults()" type="submit" value="Click" />
    </form>

    <script language="Javascript">
        function EvaluateResults() {
            var d = new Date();
            var h = d.getHours();
            var h1 = document.forms["INICI"].starthour.value;
            var m = d.getMinutes();
            var m1 = document.forms["INICI"].startminut.value;

            console.log(h + ' ' + h1);


            if (h == h1) {
                document.write("nice" + "<br>");
            }
            else {
                document.write("bad" + "<br>");
            }

            if (m1 == m) {
                document.write("very nice" + "<br>");
            }
            else {
                document.write("very bad" + "<br>")
            }


        }
    </script>
</body>
</html>

开始时间:


开始分钟:
函数EvaluateResults(){ var d=新日期(); var h=d.getHours(); var h1=document.forms[“INICI”].starthour.value; var m=d.getMinutes(); var m1=document.forms[“INICI”].startminut.value; 控制台日志(h+“”+h1); 如果(h==h1){ 文档。写(“尼斯”+“
”); } 否则{ 文件。写入(“坏”+“
”); } 如果(m1==m){ 写(“非常好”+“
”); } 否则{ document.write(“非常糟糕”+“
”) } }

代码的错误在于,您在加载和执行JavaScript文件时花时间,而不是在按下按钮时花时间。为了解决您的问题,我只是创建了一个方法并传输了获取时间的代码。

您从html元素值更新javascript变量,而不检查html元素是否已加载。将脚本移到body标记的末尾。不要忘记标记正确的答案。如果您标记正确的答案,您的个人资料看起来会更好。脚本元素的语言属性很久以前就被弃用,并从HTML5中删除。只需使用