1

如果这看起来像是一个“叹气,另一个~”的问题,我很抱歉,但我已经看得很远了,但似乎没有一个东西适合我的需要。我看过像刽子手这样的游戏,但他们逐字逐句地做,我不知道如何处理代码。(我承认我的无能。我的知识非常有限)

然后我决定看测验,但它们似乎只处理单选按钮。我尝试编辑脚本,以便它们具有输入类型的文本框,但这似乎导致了更多问题,因为我将问题从多项选择变为开放答案。

我真正想要的是这样的基本设置:

问题
输入框
按钮(提交,我想?)

从美学角度来说,没有什么特别的,只有这三件事。

摘要:我如何让我的代码检查他们给出的问题的答案是否是香蕉?如果这个词确实是香蕉,我如何让按钮只工作?

经过几天的搜索,我现在非常迷茫。非常感谢你们为此付出的任何努力,这对我来说意义重大。

4

2 回答 2

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>

希望有帮助。

于 2012-08-10T13:20:53.627 回答
-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!
    }
于 2012-08-10T13:19:54.227 回答