关于实现页面记忆功能的问题,高手请进 建议有下拉列表刷新的页面用ajax实现 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 关键是,每次显示的内容都是不一样的,譬如:该页面所有显示的字段为:用户名,单位,学校,年龄,联系方式,家庭住址等,参数1:只显示用户名和家庭住址,参数2:显示单位,学校,参数3:显示用户名,年龄和学校,选完3后,又选了一下1,那么1以前填写的家庭住址就要显示出来,这样的话,ajax实现起来会很困难吧?谢谢 AJAX实现比较好...不难实现...把HTML元素也直接从服务端写好拿用AJAX回传过来..这样达到每次都不一样了。.. 有的参数值多一些,有的少一些,有的可能全部都显示出来,用户在填写内容时,可以随意选择下拉菜单的参数选项,实现动态性显示,如果第一个显示的字段数是最多的,用户把每项字段都填好了,这样,他再选择其他字段选项数少的选项后,辗转几次,再折回来,其他选项没有的但第一个选项有的该字段的内容也要显示出来很麻烦,最开始我用的是javaBean的方式实现,把该用户所填写过的所有字段内容都放在该bean中保存,可是发现session实在不好控制。谢谢 笨点的方法就是有几种情况做几个页面,每次页面切换,调用onchange事件用div进行隐藏,这样肯定是可以实现的再者就是通过ajax动态加载代码,其实原理跟第一个也差不多,几种情况输出几种页面。 鉴于你这种情况:用ajax实现比较合适。你要实现通过选择下拉列表 显示不同的页面和内容,用ajax局部刷新。1.对于显示项目的局部刷新你可以把要显示的几种情况设计成多个table的布局形式,每次刷新用js显示对应的table布局形式,也设计你的页面上把要显示的内容项目放在这个table的tbody里面,选择下拉列表替换该table的tbody。2.对于又选择上一个选择项,要显示其对应已输入的内容,这个更好办,你可以js在定义多个 var 对象,表示存储table或者tbody对象,在每一次选择的时候把上一个对应的页面的table对象保存在页面上,分别取名保存对应的js对象中,在选择的时候通过下拉列表的value值区判断获取到哪一个对象,赋值给你页面的table对象就行了。 ajax?没必要吧,不要老是提ajax,我最怕这个了。简单的template就能实现,杀鸡焉用牛刀啊。 十分感谢大家伙的帮助,最后我决定用java的串行化,把javabean用字符串保存用form表单提交的方式获取。辛苦了 我觉得还是应该在页面控制比如用一个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> </td> </tr> <tr id="row2" style="display:none" > <td>姓名</td> <td><input type="text" /></td> <td> </td> </tr> <tr id="row3" style="display:none" > <td>年龄</td> <td><input type="text" /></td> <td> </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> 求助:使用ResultSet接收查询结果总是结果集无当前行 请教个问题,关于SQL的 请教发展方向? java.sql.SQLException: ORA-01747: user.table.column, table.column 或列说明无效 在JSP页面查询数据很慢 怎么在jsp中PreparedStatement实现模糊查询 static关键字到底是怎么一个用法? 关于javabean返回多列查询结果集的问题。。。谢谢 关于数据分类检索的问题! 一个JSP中的JS问题 如何实现arraylist中的数据的输出?? 谢谢 HQL语句有问题
譬如:该页面所有显示的字段为:用户名,单位,学校,年龄,联系方式,家庭住址等,
参数1:只显示用户名和家庭住址,
参数2:显示单位,学校,
参数3:显示用户名,年龄和学校,选完3后,又选了一下1,那么1以前填写的家庭住址就要显示出来,
这样的话,ajax实现起来会很困难吧?谢谢
不难实现...把HTML元素也直接从服务端写好拿用AJAX回传过来..
这样达到每次都不一样了。..
有的可能全部都显示出来,
用户在填写内容时,
可以随意选择下拉菜单的参数选项,
实现动态性显示,
如果第一个显示的字段数是最多的,用户把每项字段都填好了,
这样,他再选择其他字段选项数少的选项后,辗转几次,再折回来,
其他选项没有的但第一个选项有的该字段的内容也要显示出来
很麻烦,
最开始我用的是javaBean的方式实现,把该用户所填写过的所有字段内容都放在该bean中保存,可是发现session实在不好控制。谢谢
再者就是通过ajax动态加载代码,其实原理跟第一个也差不多,几种情况输出几种页面。
你要实现通过选择下拉列表 显示不同的页面和内容,用ajax局部刷新。
1.对于显示项目的局部刷新你可以把要显示的几种情况设计成多个table的布局形式,每次刷新用js显示对应的table布局形式,
也设计你的页面上把要显示的内容项目放在这个table的tbody里面,选择下拉列表替换该table的tbody。
2.对于又选择上一个选择项,要显示其对应已输入的内容,
这个更好办,你可以js在定义多个 var 对象,表示存储table或者tbody对象,在每一次选择的时候把上一个对应的页面的table对象保存在页面上,分别取名保存对应的js对象中,在选择的时候通过下拉列表的value值区判断获取到哪一个对象,
赋值给你页面的table对象就行了。
最后我决定用java的串行化,把javabean用字符串保存用form表单提交的方式获取。辛苦了
比如用一个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> </td>
</tr>
<tr id="row2" style="display:none" >
<td>姓名</td>
<td><input type="text" /></td>
<td> </td>
</tr>
<tr id="row3" style="display:none" >
<td>年龄</td>
<td><input type="text" /></td>
<td> </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>