我正在尝试使用函数中传递的变量来检查表单的输入,如果不匹配则阻止提交。我是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;
}
}
然而,表格似乎每次都会提交,而不会与答案相符。
答案 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" />