在一页上编写 10 个提交按钮

Posted

技术标签:

【中文标题】在一页上编写 10 个提交按钮【英文标题】:Coding for 10 submit buttons on one page 【发布时间】:2012-10-12 04:12:17 【问题描述】:

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

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

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

<? 
$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】:

我对您的措辞有点困惑,但我认为您希望将每个问题的答案都提交到数据库中,我是否理解正确?

如果是这样,我建议使用 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;">

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

【讨论】:

嗨安德鲁,你的理解是正确的。我对 AJAX 有点熟悉,并且确实将它用于另一个站点上的日志。我对你的回答有一个快速的问题。 processor.php 文件应该包含什么?我不需要特定的编码只是一个大方向,例如它应该只包含使用 SWITCH / CASE 运行我的检查的查询,还是应该有更多?谢谢。 您好。对于延误,我深表歉意——我上周一直不在。我建议只检查是否已发送“问题”变量。然后验证所有输入并根据需要检查数据库。需要注意的一点是,您可以在请求数据类型中请求 JSON 响应(请参阅 api.jquery.com/jQuery.get),然后使用数组中的 json_encode() 从 PHP 脚本返回响应。

以上是关于在一页上编写 10 个提交按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何解决我的提交按钮问题,我无法移动到下一页[重复]

flowplayer 在一页中的多搜索按钮

单选按钮值和提交按钮

一个页面两个form表单,点击表单二submit按钮提交表单的同时,表单一页提交了,这个该怎么处理成互不影响

如何使用 Javascript、jQuery 对提交按钮应用多个操作?

在 Javascript/ajax 或 jquery 中提交多个表单