2014-01-06 4 views
0

Я новичок в этом и не могу понять, почему он не работает:Javascript еще, если не работает

Так что я функция:

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> 

И это не работает.

+0

Назначение против сравнения,' = 'vs' == 'vs' === '. – elclanrs

+0

Слишком много проблем в коде. Я считаю, что вам нужно больше узнать об этом, прежде чем продолжить. Вот отличный ресурс: [MDN] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide) PS: вам не нужно указывать имя для каждого элемента, если вы отправляете form. Просто убедитесь, что у них есть действительный идентификатор для легкого выбора.;) –

ответ

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

все равно не сработает. Вы не можете сравнить объект DOM формы с строкой. – Saturnix

+0

oops sorry Я не видел, чтобы он отсутствовал .value – Bruce

+0

хорошо, это какая-то работа, но не правильная: независимо от того, что я нахожу, она говорит не так, так что это будет продолжаться в последний раз. Можете ли вы помочь с этим? – Dagged

1

Есть 4 ошибки в этих 2-х линий:

var answer = document.getElementById("myForm"); 
if (answer = 'James'); 

Первая строка извлекает элемент с идентификатором myform в вашем стр. Поскольку его нет, он возвращает NULL, и ваши сравнения всегда терпят неудачу.

Как только вы действительно используете правильный идентификатор для извлечения ввода, вам все равно придется получать значение вместо самого элемента.

Пример:

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

После того, как вы исправили все, что используют == для сравнения, так как = для заданий и удалите точку с запятой (;) после if, так как он самостоятельно закрывает заявление.

+0

И он не закрыл свою функцию/ –

+0

Да, я просто подсчитывал ошибки в этих двух строках, но на самом деле это уникальная пятая ошибка - остальная часть кода просто повторяя те же ошибки: P –

+0

Я исправил его, но он все еще не работает – Dagged

-1

У вас есть ошибки в коде. Позвольте мне уточнить его:

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

Вы не можете сравнить узел HTML с String. –

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. Вы Myform по идентификатору, но в HTML форме только имя
  2. Даже если форма будет иметь id вы пытались сравнить HtmlFormObject со строкой
  3. в, если вы использовали настройку er вместо equall
  4. после if "(ответ = 'Джеймс'); »Вы добавили: неверно
Смежные вопросы