当我们在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);
});
为什么要这样
我喜欢这种方法有几个原因:
- 这是渐进式增强。如果用户没有JavaScript,表单将只显示在一个页面上
- 您只需要执行一个提交函数,因为从技术上讲,所有输入都在一个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