在一个页面上编码10个提交按钮

时间:2012-10-12 04:12:17

标签: button submit

我需要一些关于如何正确编码包含10个问题的动态网页的指导,每个问题都有自己的提交按钮。这是一个快速背景和我正在做的事情。

我正在创建一个问题/答案页面,其中用户回答问题并点击提交。如果回答正确,每个问题都有一个点值,可以添加到用户的银行。

通过包含三个字段的数据库表在页面上填充问题 - QuestionNumber,Question,Points。每个问题都有一个问题编号,因此我可以轻松快速地识别问题和答案。这显示正常(这是代码):

<? 
$rt = mysql_query("SELECT * FROM Questions WHERE Status='Open' ORDER BY 'Number' LIMIT 10");
while ($row = mysql_fetch_array($rt)) {
$number=$row[0]; 
$category = $row[1];
$question=$row[2];
$points=$row[4];

?>
<form action="processor.php" method="post" class="qForm">
<div class="questionCell">
<div class="question"><? echo $question; ?></div>
<div class="answer">Answer: <input class="inputField" name="a0001" type="text"  size="40" maxlength="40" />
<input name="HHQuestion" value="Question: <? echo $number;  ?>" type="submit" /></div>
</div>
</form>
<? 
} 
?>

此表单在页面上重复10次,每个表单都有自己的问题和QuestionNumber。此外,每个提交按钮都具有基于questionNumber分配的值。我这样做是为了让用户(小孩)知道他们要回答哪个问题。这一切都在页面上非常好地显示。

我遇到的问题是POST文件“processor.php”,尚未创建。我设想它的工作方式是,当有人提交答案时,processor.php文件将捕获quesiotnNumber(分配给按钮)并从文本字段中回答,然后再次验证数据库表。

我知道在使用多个按钮时我应该使用SWITCH / CASE(而不是IF ELSE),我很好。但是如何将表单上的QuestionNumber捕获到processor.php文件中?

这个项目的最终目标是只填充数据库中的问题表,让网页动态运行。

提前感谢您的任何帮助和指导。

[R

1 个答案:

答案 0 :(得分:1)

我对你的措辞感到有些困惑,但我是否正确地理解你希望将每个问题的答案提交给数据库,尽管你们都在同一页面上运行它们?

如果是这样,我建议使用AJAX库发送数据并获得快速响应。有一些数字,但jQuery使用起来非常简单(还有许多其他功能)。下面是一些伪代码:

function submitAnswer(questionid)
{
    answer = document.getElementById("a000"+questionid);
    $.get("processor.php", {"answer": answer, "question": questionid}, function (data) {
        if (data.response == "200") {
            document.getElementById("response-"+questionid).innerHTML = "Thanks for answering";
        }
    });
}

然后你可以用类似的东西来调用它:

<input type = "submit" onclick = "submitAnswer('<?=$number?>'); void(0); return false;">

请注意这都是假的!你的旅费可能会改变!如果您有任何问题,请大声喊出来。