建议有下拉列表刷新的页面用ajax实现

解决方案 »

  1.   

    关键是,每次显示的内容都是不一样的,
    譬如:该页面所有显示的字段为:用户名,单位,学校,年龄,联系方式,家庭住址等,
    参数1:只显示用户名和家庭住址,
    参数2:显示单位,学校,
    参数3:显示用户名,年龄和学校,选完3后,又选了一下1,那么1以前填写的家庭住址就要显示出来,
    这样的话,ajax实现起来会很困难吧?谢谢
      

  2.   

    AJAX实现比较好...
    不难实现...把HTML元素也直接从服务端写好拿用AJAX回传过来..
    这样达到每次都不一样了。..
      

  3.   

    有的参数值多一些,有的少一些,
    有的可能全部都显示出来,
    用户在填写内容时,
    可以随意选择下拉菜单的参数选项,
    实现动态性显示,
    如果第一个显示的字段数是最多的,用户把每项字段都填好了,
    这样,他再选择其他字段选项数少的选项后,辗转几次,再折回来,
    其他选项没有的但第一个选项有的该字段的内容也要显示出来
    很麻烦,
    最开始我用的是javaBean的方式实现,把该用户所填写过的所有字段内容都放在该bean中保存,可是发现session实在不好控制。谢谢
      

  4.   

    笨点的方法就是有几种情况做几个页面,每次页面切换,调用onchange事件用div进行隐藏,这样肯定是可以实现的
    再者就是通过ajax动态加载代码,其实原理跟第一个也差不多,几种情况输出几种页面。
      

  5.   

    鉴于你这种情况:用ajax实现比较合适。
    你要实现通过选择下拉列表 显示不同的页面和内容,用ajax局部刷新。
    1.对于显示项目的局部刷新你可以把要显示的几种情况设计成多个table的布局形式,每次刷新用js显示对应的table布局形式,
    也设计你的页面上把要显示的内容项目放在这个table的tbody里面,选择下拉列表替换该table的tbody。
    2.对于又选择上一个选择项,要显示其对应已输入的内容,
    这个更好办,你可以js在定义多个 var 对象,表示存储table或者tbody对象,在每一次选择的时候把上一个对应的页面的table对象保存在页面上,分别取名保存对应的js对象中,在选择的时候通过下拉列表的value值区判断获取到哪一个对象,
    赋值给你页面的table对象就行了。
      

  6.   

    ajax?没必要吧,不要老是提ajax,我最怕这个了。简单的template就能实现,杀鸡焉用牛刀啊。
      

  7.   

    十分感谢大家伙的帮助,
    最后我决定用java的串行化,把javabean用字符串保存用form表单提交的方式获取。辛苦了
      

  8.   

    我觉得还是应该在页面控制
    比如用一个TABLE来放,每行一个要填写的元素
    只需要用JS代码控制显示这个TABLE的哪些行就ok了。给你写了一个HTML的例子<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script language="javascript">
    function test(row){
    for (var i=1;i<=3;i++){
       document.getElementById("row"+i).style.display="none";
    }
       document.getElementById("row"+row).style.display="";
    }
    </script>
    </head><body>
    <table width="200" border="1">
      <tr id="row1" style="display:none">
        <td>ID</td>
        <td><input type="text" /></td>
        <td>&nbsp;</td>
      </tr>
      <tr id="row2" style="display:none" >
        <td>姓名</td>
        <td><input type="text" /></td>
        <td>&nbsp;</td>
      </tr>
      <tr id="row3" style="display:none" >
        <td>年龄</td>
        <td><input type="text" /></td>
        <td>&nbsp;</td>
      </tr>
    </table>
    <input type="button" value="显示第1行" onclick="test(1);"/>
    <input type="button" value="显示第2行" onclick="test(2);"/>
    <input type="button" value="显示第3行" onclick="test(3);"/>
    </body>
    </html>