我使用jquery Tabs有多步形式,每个步骤或Tab都有不同的形式 用action(action ='reg.php#tabs-1')等等......直到最后。 每个标签中都有“保存”按钮,它记住了SESSION中的选定值。
tab1:选择具有两个值的输入,例如(option1,option2)
tab2:有复选框,根据tab1中选定的部分(option1或option2)显示(如果在tab1中选择了option1,则在tab2中显示复选框,其中name ='a',name ='b'OR如果选中option2在tab1中,然后在tab2中显示名称='x'且名称='z'的复选框)
在SESSIONS的tab2中按下Save按钮后,我记住了这些值。
问题是:当我勾选tab2中的一个复选框,保存它们,然后返回到tab1,更改select中的任何其他值,然后单击tab1中的Save,我在tab2中选中的复选框值将取消选中
但我钢铁希望他们被检查
PHP:
<?php session_start(); if (!empty($_SESSION['animal'])){if($_SESSION['animal']=='1'){$selected1='selected';$selected2='';} else {$selected2='selected';$selected1='';}}if (!empty($_POST['animal'])){if ($_POST['animal']=='1'){$selected1='selected';$selected2='';$_SESSION['animal']=$_POST['animal'];}else {$selected2='selected';$selected1='';$_SESSION['animal']=$_POST['animal'];}} if ($_POST['a']=='dog'){$_SESSION['a']=$_POST['a'];$checked1='checked';} else { $checked1='';unset ($_SESSION['a']);}if ($_POST['z']=='horse'){ $_SESSION['z']=$_POST['z']; $checked2='checked';} else {$checked2='';unset ($_SESSION['z']);}?>
脚本:
$(function() {$( "#tabs" ).tabs();});
HTML:
<script src="js/jquery.js"></script><link rel="stylesheet" href="js/jquery.custom/jquery-ui.css"><script type="text/javascript" src="js/jquery.custom/jquery-ui.min.js"></script><div id="tabs">
<ul>
<li><a id="step1" href="#tabs-1">step 1</a></li>
<li><a id="step2" href="#tabs-2" >step 2</a></li>
</ul>
<div id="tabs-1">
<form method='post' name='field1' id='field1' action='ureg4.php#tabs-1' >
<select name='animal' value='<?php echo $_SESSION['animal']?>'>
<option value='1' <?php echo $selected1?>>option one</option>
<option value='2' <?php echo $selected2?>>option two</option>
</select>
<input type='submit' name='submit' value='save'>
</form>
</div>
<div id="tabs-2">
<form method='post' name='field2' id='field2' action='ureg4.php#tabs-2' >
<?php
if ($_SESSION['animal']==1){echo "<input type='checkbox' name='a' value='dog' id='a'".$checked1." /><label for='a'><span class='icon'></span>Dog</label><br>";}
if ($_SESSION['animal']==2){echo "<input type='checkbox' name='z' value='horse' id='z' ".$checked2." /><label for='z'><span class='icon'></span>horse</label><br>";}
?>
<input type='submit' name='submit' value='save'>
</form>
</div>
</div>
答案 0 :(得分:0)
检查此
session_start();
if (!empty($_SESSION['animal'])){
if($_SESSION['animal']=='1'){
$selected1='selected';
$selected2='';
} else {
$selected2='selected';
$selected1='';
}
}
if (!empty($_POST['animal'])){
if ($_POST['animal']=='1'){
$selected1='selected';$selected2='';
$_SESSION['animal']=$_POST['animal'];
}else {
$selected2='selected';
$selected1='';
$_SESSION['animal']=$_POST['animal'];
}
}
if (!empty($_POST)){
if ($_POST['a']=='dog'){
$_SESSION['a']=$_POST['a'];
$checked1='checked';
} else {
$checked1='';
unset ($_SESSION['a']);
}
}
if (!empty($_POST)){
if ($_POST['z']=='horse'){
$_SESSION['z']=$_POST['z'];
$checked2='checked';
} else {
$checked2='';
unset ($_SESSION['z']);
}
}
if($_SESSION['z']=='horse'){
$checked2='checked';
}
if($_SESSION['a']=='dog'){
$checked1='checked';
}