其他Javascript如果不起作用

时间:2014-01-06 00:49:10

标签: javascript html forms

我是新手,无法弄清楚它为什么不起作用:

所以我有功能:

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

这是<form>

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

它不起作用。

5 个答案:

答案 0 :(得分:1)

这两行中有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) - 关闭声明。

答案 1 :(得分:0)

   <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>

等于'=='不是单'='

答案 2 :(得分:0)

http://jsfiddle.net/48KLN/2/

<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>

你犯了以下错误

  1. 你通过id得到myForm,但是html格式只有名字
  2. 即使表单具有id,您也试图将HtmlFormObject与字符串
  3. 进行比较
  4. in如果您使用setter而不是equall
  5. 之后如果“(answer ='James');”你补充说;这是不正确的

答案 3 :(得分:0)

<!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> 

答案 4 :(得分:-1)

您的代码中存在错误。让我改进一下:

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