Javascript 如果没有';行不通

Javascript 如果没有';行不通,javascript,html,forms,Javascript,Html,Forms,我是新手,不明白为什么它不起作用: 所以我有一个函数: function testResults() { var answer = document.getElementById("myForm"); if (answer = 'James'); { alert("Good !"); } else if (answer = 'james'); { alert("Good !"); } else { alert("Wr

我是新手,不明白为什么它不起作用:

所以我有一个函数:

function testResults() {
    var answer = document.getElementById("myForm");
    if (answer = 'James'); {
        alert("Good !");
    } else if (answer = 'james'); {
        alert("Good !");
    } else {
        alert("Wrong !");
    }
下面是


输入您的姓名
而且它不起作用。


   <form name="myform">
    Enter your name 
    <input type="text" name="inputbox" value="" id="field">
    <input type="button" name="button" value="Click" onClick="testResults()" >
</form>


<script>
    function testResults () {
        var answer = document.getElementById("field").value;

        if (answer == 'James')
        {
            alert("Good !");
        }
        else if (answer == 'james')
        {
            alert("Good !");
        }
        else 
        {
            alert("Wrong !");
        }
    }
</script>
输入您的姓名 函数测试结果(){ var answer=document.getElementById(“字段”).value; 如果(答案=‘詹姆斯’) { 警惕(“好!”); } 否则,如果(答案=='james') { 警惕(“好!”); } 其他的 { 警惕(“错误!”); } }

对于equal is'='而非single'='

这两行中有4个错误:

var answer = document.getElementById("myForm");
if (answer = 'James');
第一行检索页面中ID为
myform
的元素。因为没有,所以它返回
NULL
,并且您的比较总是失败

一旦您实际使用了正确的ID来检索输入,您仍然需要获取值,而不是元素本身

样本:

<input type="text" id="test" value="waa">
<button onclick="alert(document.getElementById('test').value)">Click me!</button>

点击我!

一旦您解决了所有这些问题,请使用
=
进行比较,因为
=
用于赋值,并删除
if
后面的分号(
),因为它会自动关闭语句。

您的代码中有错误。让我来完善一下:

function testResults() {
    var answer = document.getElementById("myForm");
    if (answer == 'James'); {
        alert("Good !");
    } else if (answer == 'james'); {
        alert("Good !");
    } else {
        alert("Wrong !");
    }
};


输入您的姓名
函数testResults(){
var answer=document.getElementById(“textBox”).value;
如果(答案=‘詹姆斯’){
警惕(“好!”);
}否则,如果(答案=='james'){
警惕(“好!”);
}否则{
警惕(“错误!”);
}
}
你犯了以下错误

  • 您通过id获取myForm,但html表单中只有名称
  • 即使表单有id,您也尝试将HtmlFormObject与字符串进行比较
  • 在中,如果使用setter而不是equal
  • 在“if”(答案是‘James’);”之后,你又加了一句;哪个是错误的
  • 
    提交
    

    函数myFunction(){ var x=0; x=document.getElementById(“numb”).value; if(x<5){ text=“输入无效”; }如果(x>5),则为else{ text=“输入确定”; } document.getElementById(“demo”).innerHTML=text; }
    分配vs比较,
    =
    vs
    =
    vs
    ===
    。代码中存在太多问题。我相信在继续之前你应该了解更多。这里有一个很好的资源:PS:如果你提交表单,你不需要给每个元素命名。只要确保他们有一个有效的ID,以便于选择。;)还是不行。您不能将表单DOM对象与字符串进行比较。对不起,我没有看到他丢失了。值OK,这是一种工作方式。但不正确:不管我怎么说,它都说错了。所以它会一直持续下去。你能帮我吗?只要复制并粘贴上面的代码(所有内容),如果你在输入框中键入“James”,我应该提醒“Good”,我刚刚测试了Super,它终于起作用了…我会放弃你的投票,但我的声誉太低了。他没有关闭他的功能/是的,我只是在计算这两行中的bug,但事实上,这是一个独特的第五个bug——代码的其余部分只是重复同样的错误:PYou确实需要先学习基础知识。分号和=< /COD>问题表明,您甚至没有掌握任何编程的核心基础(在C语言、java、C++和PHP中语法相同)。我们指出了代码中的所有问题,我们唯一能做的就是为您编写代码,这不是堆栈溢出的目的,对您毫无帮助。As@Derek朕會功夫 said:.@user3163838-正如我之前评论的那样,在再次查看代码之前,请阅读MDN上的JavaScript指南,了解JS如何工作以及如何与DOM交互。您无法将HTML节点与字符串进行比较。您好,欢迎来到stackoverflow,感谢您的回答。你能不能简单地解释一下你解决了什么问题以及你是如何解决的,而不是仅仅发布一段代码?这将有助于将来发现这个问题的人更好地理解这个问题以及如何处理它。
    function testResults() {
        var answer = document.getElementById("myForm");
        if (answer == 'James'); {
            alert("Good !");
        } else if (answer == 'james'); {
            alert("Good !");
        } else {
            alert("Wrong !");
        }
    };
    
    <form name="myform">
        Enter your name 
        <input type="text" name="inputbox" id='textBox' value=""/>
            <input type="button" name="button" value="Click" onClick="testResults()" />
    </form>
            <script>
                function testResults() {
        var answer = document.getElementById("textBox").value;
        if (answer == 'James') {
            alert("Good !");
        } else if (answer == 'james') {
            alert("Good !");
        } else {
            alert("Wrong !");
        }
    }
            </script>
    
    <!DOCTYPE html>
    <html>
    <body>
    <input id="numb" type="text">
    <button type="button" onclick="myFunction()">Submit</button>
    <p id="demo"></p>
    <script>
    function myFunction() {
      var x =0 ;
      x = document.getElementById("numb").value;   
      if ( x < 5 ) {
        text = "Input not valid";
      } else if( x > 5 ) {
        text = "Input OK";
      }
      document.getElementById("demo").innerHTML = text;
    }
    </script>
    </body>
    </html>