在允许表单提交之前,检查值是传递的变量吗?

时间:2015-10-14 12:21:13

标签: javascript jquery

我正在尝试使用函数中传递的变量来检查表单的输入,如果不匹配则阻止提交。我是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 个答案:

答案 0 :(得分: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" />