2015-10-14 6 views
0

Я пытаюсь использовать переменную, прошедшую через функцию, чтобы проверить на вход формы и предотвратить представление, если оно не сопоставлено. Я новичок в javascript и jQuery.Проверить значение переданной переменной, прежде чем разрешить отправку формы?

Это то, что у меня есть в настоящий момент, лишенный основы. Любая помощь была бы чрезвычайно оценена.

<form id="timer" name="octo-ans" method="post"> 
     <input id="octo-ans-box" type="text" placeholder="answer" name="answerRoom<?php echo $RmNo; ?>" /> 
     <input id="octo-room-submit" type="submit" onSubmit="checkAnswer(<?php echo $answer; ?>)" value="Send" name="octo-send" /> 
    </form> 

 

function checkAnswer(answer) { 
      if ($("#octo-ans-box").val().toLowerCase() === answer) { // have tried == and ==== 
       return true; 
      } else { 
       $("#octo-timer").delay(500).animate({ backgroundColor: "#F00"}, 100).animate({ backgroundColor: "#000"}, 1000); 
       return false; 
      } 
     } 

Однако форма, кажется, представить себя каждый раз, когда без согласования ответа.

ответ

1

Вы отсутствуют одиночные кавычки:

Правильно:

<input id="octo-room-submit" type="submit" onSubmit="checkAnswer('<?php echo $answer; ?>)" value="Send" name="octo-send" /> 

(Таким образом, ваш $answer становится передается как переменная JavaScript/зарезервированных ключевых слов, где, как это строка).

Для

<input id="octo-room-submit" type="submit" onSubmit="checkAnswer('<?php echo $answer; ?>')" value="Send" name="octo-send" /> 
+0

Привет зрачка, я исправил мой код, соответственно, но до сих пор, кажется, в конечном итоге, направляющее форму - извините – Bysander

+0

Я также попытался выше с тем, что Адиль предложил ниже, добавив возврат к началу имени функции – Bysander

+1

Попробуйте 'obsubmit' на'

'вместо кнопки. Он должен работать. – Pupil

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