我很抱歉,如果这看起来像是“叹息,另一个那些〜”的问题,但我看得远远不够,但似乎没有任何东西能满足我的需要。我看过像刽子手这样的游戏,但他们写了一封信,我无法弄清楚如何处理代码。 (我承认,无能为力。我的知识非常有限)
然后我决定查看测验,但他们似乎只处理单选按钮。我试图编辑脚本,以便他们有输入类型的文本框,但这似乎导致了更多的问题,因为我把问题从多项选择转为开放答案。
我真正想要的是这样的基本设置:
问题
输入框
按钮(提交,我认为?)
没有什么是美学上的,只有这三件事。
总结:如何让我的代码检查他们给问题的答案是否是例如banana?如果单词确实是香蕉,我如何让按钮只能工作?
经过几天的搜索,我很失落。非常感谢你们为此付出的努力,这对我来说意义重大。答案 0 :(得分:0)
基本上你会将提交按钮更改为普通按钮,并在提交表单之前运行javascript函数来检查值是否正确。类似的东西:
<script>
function validate() {
if (document.getElementById('check_value').value == 'banana') {
document.getElementById('myForm').submit();
}
else {
alert("Incorrect value.");
}
}
</script>
<form id='myForm' method='POST' action='process.php'>
<input type='text' id='check_value' />
<input type='button' value='Submit' onclick='validate();' />
</form>
希望有所帮助。
答案 1 :(得分:-2)
这是一些使用javascript的基本客户端脚本。
使用onkeyup
事件,我们可以测试用户在文本框中输入内容的值,将其与“正确”值进行比较,并根据该评估启用/禁用我们的提交按钮。
<div id="question">How do you spell "banana"?</div><br />
<form action="" method="post">
<input type="text" name="answer" id="answer" /><br />
<input type="submit" id="submit" disabled="true" />
</form>
<script type="text/javascript" language="javascript">
$("#answer").on('keyup', function() {
if ($(this).val() == "banana") {
$("#submit").removeAttr("disabled");
} else {
$("#submit").attr("disabled", "true");
}
});
</script>
正如其他人所指出的那样,你需要验证服务器端的输入,以防用户是一个混蛋并禁用了javascript。
<?php
if ($_POST['answer'] == "banana") {
// we're OK, do something
} else {
// return to the form and let the user know he's a cheater!
}