2014-03-16 5 views
-3

Я новичок в JavaScript и имею довольно простой код ошибку я не могу решить ...JavaScript Если ... Else Ошибка

кода я включил ниже должен возвращать «OK», если текст «весна» вводится в текстовое поле после нажатия кнопки и «ОШИБКА», если что-то другое. поскольку код написан ниже, он возвращает «ОК» сразу после нажатия кнопки, но если я поставлю == или === после моего оператора «if», я получаю «ОШИБКУ» независимо от того, что.

<script> 
function myFunction(){ 
    var x=""; 
    if (textfield = "spring"){ 
     x="OK"; 
    }else{ 
     x="ERROR"; 
    } 
    document.getElementById("validate").innerHTML=x; 
} 
</script> 
+0

Вы также можете сделать что-то вроде 'var x = (textfield ===" spring ")? «ОК»: «ОШИБКА»; «и сэкономить много шума. –

+0

Сначала нам нужно знать, что такое текстовое поле. Вероятно, нам понадобится document.getElementsByName ("textfield") [0] .value или document.getElementById ("textfield"). Значение – mplungjan

+0

Если есть ошибка с тем, что означает 'textfield', нам нужно увидеть больше контекста. Не зная больше, я бы предположил, что вы устанавливаете значение на загрузке страницы, а не получаете значение в момент выполнения 'myFunction'. –

ответ

2

Вы не сравниваете, а назначаете.

textfield Предположив это строка, изменить

if (textfield = "spring") 

в

if (textfield === "spring") 

textfield Если ваш вход, используйте

if (textfield.value === "spring") 
+0

OP фактически сделал это, я думаю. 'on click, но если я положил == или === после моего оператора if, я получаю сообщение« ERROR » –

+0

ok, присваивая ему значение и используя === он теперь проверяется в Dreamweaver, но в браузере он не делает 't делать либо if/else команду – user3426091

0

== обозначает "равно"! = означает «не равно».

+0

Лучше явно контрастировать с тем, что фактически делает OP. –

+0

Gotcha. Благодарю. – tywalker

0

Да, вам нужно использовать ==, поскольку destroy говорит, чтобы сделать сравнение. Где текстовое поле присваивается значение?

Может быть, попробовать function myFunction(textfield) и вызов вашей функции со значением:

myFunction('spring');

0

Посмотрите на свой if (textfield = "spring") в приведенном выше коде, который вы используете «=», есть большая разница между «=» , '==' и '==='. = -> назначение Оператор == -> Сравнение данных === -> Сравнение данных по сравнению с сопоставлением данных (сначала будет сравниваться тип операндов, если они будут успешными, тогда данные внутри операндов будут сравниваться)

как вы используете «=», то назначая «весна» в переменную «текстовое поле»

просто заменить ваше состояние, если с if (textfield === "spring")

0
<script type="text/javascript"> 
function myFunction(){ 
var textfield = document.text.textfield.value;` 
var x=""; 
if (textfield == "spring"){ 
    x="OK"; 
}else{ 
    x="ERROR"; 
} 
document.getElementById("validate").innerHTML=x; 
} 
</script> 
<form name="text"> 
<input type="text" name="textfield" /> 
<input type="submit" onclick="myFunction();" value="Submit" /> 
</form> 

<p><span id="validate"></span></p> 

надежда, что помогает ABIT

Смежные вопросы