日期:2014-05-17  浏览次数:20550 次

IF 结构设计问题,乱了!
有如下需求,希望大侠指导
INPUT表单1
<input type=text name=id1 value=''>//用来输入文本1
<input type=text name=id2 value=''>//用来输入文本2
<input type=sumbit name=ida value=''>//用来提交输入的信息
我想点击了提交ida后界面输出INPUT表单2
<input type=text name=id3 value=''>//用来输入文本1
<input type=text name=id4 value=''>//用来输入文本2
<input type=sumbit name=idb value=''>//用来进一步提交输入的信息
<input type=sumbit name=idc value=''>//用来返回上一input表单1界面,但要把表单一输入的信息存储下来
当点击了提交idb后进入表单3
我想点击了提交ida后界面输出INPUT表单2
<input type=text name=id4 value=''>//用来输入文本1
<input type=text name=id5 value=''>//用来输入文本2
<input type=sumbit name=ide value=''>//用来再一次提交输入的信息
<input type=sumbit name=idf value=''>//用来返回上一input表单2界面,但要把表单二输入的信息存储下来

就输输入玩的信息,当在界面上点返回按钮时能把上一级的信息存下来,方便更改。求指导。。。。。。。。用IF结构设计的头有点大。。。

------解决方案--------------------
直接把参数通过url传啊
或者保存在session里。


url加个 step 来标识在第几步这样就行了。
------解决方案--------------------
这就是典型的ajax应用了.
A.将所有需要输入的部分 分别写在<div id='xxxx'>内
B.默认从 第一个div 显示 当ajax提交之后 显示第二个div
C.类推B

需要掌握的内容

1.js/Jquery控制 div 的隐藏与显示
2.jquery 的 ajax 方法POST/GET

------解决方案--------------------
跟php没关系吧。
HTML code
<script>
      function goBack(id,o){
                document.getElementById(id).style.display='block';
                o.parentNode.style.display='none';
      }
       function goNext(id,o){
                document.getElementById(id).style.display='block';
                o.parentNode.style.display='none';
      }
</script>

<form action="demo.php" method="post">
<div id="id1">
<input type="text" name="id1" value=''>
<input type="text" name="id2" value=''>
<input type="button" name="ida" value='按钮1' onclick="goNext('id2',this)">
</div>

<div id="id2" style="display:none">
<input type="text" name="id3" value=''>
<input type="text" name="id4" value=''>
<input type="button" name="idb" value='返回2' onclick="goBack('id1',this)">
<input type="button" name="idc" value='按钮2' onclick="goNext('id3',this)">
</div>

<div id="id3" style="display:none">
<input type="text" name="id4" value=''>
<input type="text" name="id5" value=''>
<input type="button" name="ide" value='返回3' onclick="goBack('id2',this)">
<input type="submit" name="idf" value='提交'>
</div>
</form>

------解决方案--------------------
保存在session里, 外加个状态, 根据请求和当前状态做状态转移和数据的session记录.
------解决方案--------------------
看了半天,总算搞明白你的意思了
看看这个测试例,应该是你想要的
PHP code
<form method=post>
<?php
$num = 2;

$p = 0;
$h = 0;
$mh = 0;
$val = array_fill(0, $num, '');
if($_POST) {
  $h = $_POST['h'];
  $mh = max($_POST['mh'], count($_POST['id']));
  if(isset($_POST['s'])) {
    $h++;
    if($h * $num >= $mh) $val = array_merge($_POST['id'], $val);
    else $val = $_POST['id'];
  }else {
    $val = $_POST['id'];
    $h--;
  }
}
foreach($val as $k=>$v) {
  if(floor($k/$num) == $h) {
    $t = $k+1;
    echo "文本$t<input type=text name=id[$k] value='$v'>";
  }else
    echo "<input type=hidden name=id[$k] value='$v'>";
}
echo "<input type=hidden name=mh value=$mh>";  
echo "<input type=hidden name=h value=$h>";  
echo "<input type=submit name=s value='提交'>";
i