0

当我们在 php 中从当前页面移动到上一页面时,是否可以保持单选按钮的选中值与我们之前选择的值相同?请用示例代码解释....

在我提交按钮之前,当我在分页中转到下一页时,我的动态生成的单选按钮值会自动发布。我每页有 20 个问题和答案。我需要评估它们。我在数组中得到了答案。在使用分页移动下一个或上一个按钮时,我无法让用户选择单选按钮值,请帮助任何人。提前致谢

4

2 回答 2

0

你可以用 JavaScript 或 jQuery 来做到这一点...

HTML

如果您的分页不需要创建新的(复制/可粘贴)链接,我最喜欢的一种多页表单的方法是使用调用 JavaScript 来显示和隐藏部分的分页控件,如下所示:

<div id='section1' class='section'> ... BUNCH OF RADIOS ... </div>
<div id='section2' class='section'> ... BUNCH OF RADIOS ... </div>

<div id='links' style='display:none;'>
    <a href='javascript:void(0);' class='show' data-section='1'>1</a> | 
    <a href='javascript:void(0);' class='show' data-section='2'>2</a>
</div>

JavaScript

然后,创建一些 JavaScript 函数(我假设您安装了 jQuery,如果没有,您可以使用纯 Javascript 来执行此操作,但它并不那么漂亮):

function hideAllSections() {
    $('.section').hide(0);
}

function showSection(section) {
    $('#section' + section).show(0);
}

$('.show').click(function(){
    showSection($(this).data('section'));
});

最后,要在文档加载后立即隐藏除第一个部分之外的所有部分:

$(function(){
    hideAllSections();
    showSection(1);
    $('#links').show(0);
});

为什么要这样做?

我喜欢这种方法有几个原因:

  1. 是渐进式增强。如果用户没有 JavaScript,表单将简单地全部显示在一页上。
  2. 您只需执行一个提交功能,因为所有输入在技术上都在一个 HTML 页面上,由于 jQuery 分页,它们只出现在不同的页面上。

我能想到的唯一缺点是用户必须一次完成它。

于 2013-08-07T11:06:59.143 回答
0

这可以帮助您开始

HTML

<input name="answers[0]"  class="button-choice" type="radio" value="1"/>
<input name="answers[1]"  class="button-choice" type="radio" value="1"/>
.
.
.

服务器端

$answers = unserialize($_SESSION['answers']); // to retrieve user selection
$answers = array_merge($answers,  $_POST['answers']); // merges posted values with the ones already kept in session
$_SESSION['answers'] = serialize($answers); // to keep user selections
于 2013-08-07T11:37:40.563 回答