当我们在php中从当前页面移动到上一页面时,是否可以保持单选按钮的检查值应该相同


is it possible to keep the checked values of radio button should be same when we move from current page to previous page in php?

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

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

您可以使用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分页,它们只显示在单独的页面上

我能想到的唯一一个骗局是,用户必须一次性完成。

这可以帮助您启动

HTML

<input name="answerswers[0]"  class="button-choice" type="radio" value="1"/>
<input name="answerswers[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