2013-08-09 2 views
0

У меня есть странные проблемы с простым IF заявления:Weird Javascript/JQuery, если заявление выпуск

<script language='javascript' type="text/javascript"> 
    function laststep() { 

     if(!document.touch.captcha.value == "L5J7K") { 
      alert("Ingevoerde code is niet juist."); 
      return false; 
     } 

     if(!document.touch.agree.checked) { 
      alert("Accepteer algemene voorwaarden."); 
      return false;   
     } 
    } 
</script> 

Второго IF условие работает правильно. Но первый не работает. Значение первого - «NotProvided».

Можете ли вы, ребята, помочь мне?

+0

Не могли бы вы добавить код разметки, пожалуйста? –

ответ

4
if(!document.touch.captcha.value == "L5J7K"){ 

Должно быть

if(!(document.touch.captcha.value == "L5J7K")){ 

Или

if(document.touch.captcha.value != "L5J7K"){ 

В текущем коде !document.touch.captcha.value оценивается первым, а затем результат по сравнению с "L5J7K", который не то, что вы хотите ,

+0

Глупо меня, спасибо! – Daan

1

!document... будет передавать его в логическое для сравнения, где он будет ложным, и утверждение никогда не будет выполнено, потому что строка является правдой.

if (document.touch.captcha.value != "L5J7K"){ 
+1

'будет приводить его к булевому для сравнения, где он будет ложным, и утверждение никогда не будет выполнено, потому что строка является правдой' ... ну, если строка не пуста :) – Ian

+0

@Ian Я имел в виду конкретную строку в вопрос, но вы правы. Альтернативой было бы использовать '! ===' –

+1

Я знаю, я просто давал вам тяжелое время :) – Ian

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