呵呵,一个小问题!大家帮帮忙? 你的这3个问题都得用到javascript的帮助才能搞定,先找教程看看 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我要下班了,给你个思路;1) 方到一个层里面,隐藏。2)第二个选择框使用js动态写入options3) 类似2) 用 JSCRIPT 做,其实用。NET 很简单就能 实现但JAVA 是JAVA 题1:<a href="xxxx.jsp?show=1">列表</a> <%if(request.getPamater("show").equals("1")){ 显示列表的代码 }else{ 否则什么也不显示。 }%>题2、3 var objOption = new Option("显示","值"); document.all.selectxxx.add(objOption); 我的第一个已经试过了,按照yunxiang(*****) 给的方法,不过总是报错,就是加一个判断条件,不知道为什么,我的是这样的:<form method=post action="Right_cne.jsp?show=1" target=workspace><input type="submit" value="列 表"></form>缺省时show值为null;点击“列表”按钮后,show的值变为1然后显示时候加个判断:y = request.getParameter("show");if(y.equals("1")){显示的内容!}可是总出一个错:java.lang.NullPointerException org.apache.jsp.jsp.Right_005fcne_jsp._jspService(Right_005fcne_jsp.java:135) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248) javax.servlet.http.HttpServlet.service(HttpServlet.java:856)我都快要疯了,简直没有道理,大哥大姐们帮帮我! if(y!=null || y.equals("1")){ 问题1:<% String strshow=request.getPamater("show");if(strshow!=null&&strshow.equals("1")){ <form name="addForm"><select name=a1 onchange="adda2();"></select><select name=a2></select><script>function adda2(){ var objOption = new Option(document.addForm.a1.options[document.addForm.a1.selectedIndex].text,document.addForm.a1.value); document.addForm.a2.add(objOption);}</script>当改变a1时,可以把a1被选中的值添加到a2中。像这样的问题,你应该去javacript版问问。我这个方法你可以试试,其实,你的2、3问题我还是不大明白。 是这个吧?request.getParameter("show");没有request.getPamater("show");呵呵,这个已经正确了,谢谢你!yunxiang(*****)关于2和3,先试着做2,就是说一个单选的类表里(表单A),我选择了一个值,这个值作为查询的条件,去查找数据库,得到的结果动态地做为option的值放在另一个select中(B),我现在已经做成了这样:从A中取值:<form name="form1"> <table> <tr> <td align="left"> 基本网元类型选择:<select name="sel" id="c_dep" onchange="javascript.listvalue('window.document.form1.sel.options[selectedIndex].value')"> <option value="BNEHost" selected="selected">主机</option> <option value="BNEProtocol">应用</option> <option value="BNEPrefix">网段</option> <option value="BNEInterface">接口</option> <option value="BNEAs">自治域</option> </select> </td> </tr> </table> <script type=""> function listvalue(tablename){ //tablename就是A中传递过来的值 var tableName = tablename; DBFactory dbf = DBFactory.newInstance(); Connection conn = dbf.getConnect(); String sql = "select * FROM "+tableName; Vector rs = dbf.query(sql); (查出值) 这个应该可以在listvalue方法里直接写到B中的,可是不我知道怎么写! } </script>放到B中:<td align="center" width="30%"> <select size="10" name="jbwylb" id="" multiple="multiple"> <option></option> (显示查询的结果) </select> </td>或者有更简单的方法! <script type=""> function listvalue(tablename){ //tablename就是A中传递过来的值 var tableName = tablename; DBFactory dbf = DBFactory.newInstance(); Connection conn = dbf.getConnect(); String sql = "select * FROM "+tableName; Vector rs = dbf.query(sql); (查出值) 这个应该可以在listvalue方法里直接写到B中的,可是不我知道怎么写! } </script>这个是错的,主要不知道怎么写,大家帮个忙吧! 不知道你要做什么用处。有两种解决办法。1:你可以把select_2中的所有可能显示的数据都存在javascript中eg:function update_province( CatID1, subTypeForm ){ subTypeForm.length=0; switch(CatID1){ case "-1": subTypeForm.options[0]=new Option("--------","-1"); subTypeForm.options[0].selected=true;break; case "0"://中国 subTypeForm.options[0]=new Option("广东","0"); subTypeForm.options[1]=new Option("广西","1"); case "1"://广西 subTypeForm.options[0]=new Option("南宁","0"); subTypeForm.options[1]=new Option("柳州","1"); case "3"://海南 subTypeForm.options[0]=new Option("海口","0"); subTypeForm.options[1]=new Option("三亚","1"); subTypeForm.options[2]=new Option("琼海","2");2:你可以自己写一个taglib 我们就是用第二种方法实现的。不过代码比较大。看起来不是很容易懂。 所以就不贴了。。 yunxiang(*****) :我知道取出值后怎么显示出来,现在的问题不在这里,问题是:单选框A.....它的选项值已知:a1、a2、a3等等我要根据A中所选择的值,去 查 不 同的 数 据 库,获得一些数据如a11,a12,a13,a21,a22,a23,a31,a32,a33比如我选择的是 a2 ,那么我就要去 查 找 a2 这 个 表,得到a21,a22,a23三个值,多选框B....这个选框里显示的将是动态取得的值:a21,a22,a23就是说要根据A选择的值,决定B的值然后显示出来!呵呵,不知道这次所清楚了没有,我做了一天没有做出个结果来,大家帮帮忙吧!! 因为你要显示后,还要进行数据库查询。所以当你改变select_1的时候必须提交。<form name=xxxxx><select name="select_1" onchenge="xxx"></select><script>function xxx(){ document.xxxxx.submit();}</script><%String ss=request.getParameter("select_1") if(ss!=null&&ss.length()>0ss.equals("null")){ String sql=" select * from table where xxx='"+ss+"'"; //查询数据库 并显示。 } %> <%String ss=request.getParameter("select_1") if(ss!=null&&ss.length()>0!ss.equals("null")){ String sql=" select * from table where xxx='"+ss+"'"; //查询数据库 并显示。 } %> yunxiang(*****):呵呵明白点了,做做看哦!先谢谢你了!等我试验一下,有问题再请教你! 提示:document.form1为空?怎么回事?? <form name="ddd"> <select name="sel" onchange="javascript:ddd()"> <option selected="selected">-请选择-</option> <option value="BNEHost">主机</option> <option value="BNEProtocol">应用</option> <option value="BNEPrefix">网段</option> </select></form> function ddd(){ document.ddd.submit(); return true; } String tableName = request.getParameter("sel"); if(tableName!=null&&tableName.length()>0&&!tableName.equals("null")){取数}现在是提示:<select name="sel" onchange="javascript:ddd()">这行:对象不支持次属性和方法! javascript 的问题很难讲清楚,因为他要求的没有java那么严禁。现在是什么错误提示啊? 我觉得不用加onchange="javascript:ddd()"中的javascript在出现javascript的错误的时候,你可以察看他的源代码(html)错误提示会告诉你在多少行有错误。然后你可以根据源代码中相对的行数,找到错误。 它提示我的就是:这行:<select name="sel" onchange="javascript:ddd()">出的错误是:对象不支持次属性或方法!有可能是<form>的错吗,我是把<form></form>放在了一个<td></td>中。有没有这个原因? onchange="javascript:ddd()">======>onchange="ddd()"> <body><form>***</form><body>像这样的东西,你应该自己多试试阿。具体什么原因我也不太清楚。onchange="javascript:ddd()"> 换成 onchange="ddd()">试试看。 yunxiang(*****) :呵呵找到错误了:::基本网元类型选择:<select name="itemA" onchange="javascript:ddd.submit();">应该加“;”或者:基本网元类型选择:<select name="itemA" onchange="javascript:ddd();">也要加";"好难呀!总于找到问题的所在了!谢谢大你!!!!!!!!!!!!!嘿嘿! 关于页面刷新问题 请问下 struts 1.2 一个标签的意思 DBstep.iDBManager2000是什么?从那里可以找到? 帮忙啊 愁死我啦 关于JSP运行环境问题!!! 求希望出版社<<JSP深入编程>>一书中的源代码包 在点击url超链接下载文件时,第一次会报找不到需要的内容HTTP/1.0 404错误 用户重新登录后提示document.getElementById(...)'为空或不是对象 深入解决简繁中文问题? 请问用JSP调用外部程序,怎么才能知道该程序已运行完毕呢? 请问:点击一个按钮,打印页面中的内容怎样实现? 请问各位在jsp中如何向oracle保存大字段?
1) 方到一个层里面,隐藏。
2)第二个选择框使用js动态写入options
3) 类似2)
其实用。NET 很简单就能 实现但JAVA 是JAVA
显示列表的代码
}else{
否则什么也不显示。
}%>题2、3 var objOption = new Option("显示","值");
document.all.selectxxx.add(objOption);
<form method=post action="Right_cne.jsp?show=1" target=workspace>
<input type="submit" value="列 表">
</form>
缺省时show值为null;
点击“列表”按钮后,show的值变为1
然后显示时候加个判断:
y = request.getParameter("show");
if(y.equals("1")){
显示的内容!
}
可是总出一个错:
java.lang.NullPointerException
org.apache.jsp.jsp.Right_005fcne_jsp._jspService(Right_005fcne_jsp.java:135)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)我都快要疯了,简直没有道理,大哥大姐们帮帮我!
String strshow=request.getPamater("show");if(strshow!=null&&strshow.equals("1")){
<select name=a1 onchange="adda2();"></select><select name=a2></select><script>
function adda2(){
var objOption = new Option(document.addForm.a1.options[document.addForm.a1.selectedIndex].text,document.addForm.a1.value);
document.addForm.a2.add(objOption);}
</script>
当改变a1时,可以把a1被选中的值添加到a2中。
像这样的问题,你应该去javacript版问问。
我这个方法你可以试试,其实,你的2、3问题我还是不大明白。
没有request.getPamater("show");
呵呵,这个已经正确了,谢谢你!yunxiang(*****)
关于2和3,先试着做2,
就是说一个单选的类表里(表单A),我选择了一个值,这个值作为查询的条件,去查找数据库,得到的结果动态地做为option的值放在另一个select中(B),
我现在已经做成了这样:
从A中取值:
<form name="form1">
<table>
<tr>
<td align="left">
基本网元类型选择:<select name="sel" id="c_dep" onchange="javascript.listvalue('window.document.form1.sel.options[selectedIndex].value')">
<option value="BNEHost" selected="selected">主机</option>
<option value="BNEProtocol">应用</option>
<option value="BNEPrefix">网段</option>
<option value="BNEInterface">接口</option>
<option value="BNEAs">自治域</option>
</select>
</td>
</tr>
</table>
<script type="">
function listvalue(tablename){ //tablename就是A中传递过来的值
var tableName = tablename;
DBFactory dbf = DBFactory.newInstance();
Connection conn = dbf.getConnect();
String sql = "select * FROM "+tableName;
Vector rs = dbf.query(sql); (查出值)
这个应该可以在listvalue方法里直接写到B中的,可是不我知道怎么写!
}
</script>放到B中:
<td align="center" width="30%">
<select size="10" name="jbwylb" id="" multiple="multiple">
<option></option>
(显示查询的结果)
</select>
</td>或者有更简单的方法!
function listvalue(tablename){ //tablename就是A中传递过来的值
var tableName = tablename;
DBFactory dbf = DBFactory.newInstance();
Connection conn = dbf.getConnect();
String sql = "select * FROM "+tableName;
Vector rs = dbf.query(sql); (查出值)
这个应该可以在listvalue方法里直接写到B中的,可是不我知道怎么写!
}
</script>
这个是错的,主要不知道怎么写,大家帮个忙吧!
有两种解决办法。1:你可以把select_2中的所有可能显示的数据都存在javascript中
eg:
function update_province( CatID1, subTypeForm ){
subTypeForm.length=0;
switch(CatID1){
case "-1":
subTypeForm.options[0]=new Option("--------","-1");
subTypeForm.options[0].selected=true;break;
case "0"://中国
subTypeForm.options[0]=new Option("广东","0");
subTypeForm.options[1]=new Option("广西","1");
case "1"://广西
subTypeForm.options[0]=new Option("南宁","0");
subTypeForm.options[1]=new Option("柳州","1");
case "3"://海南
subTypeForm.options[0]=new Option("海口","0");
subTypeForm.options[1]=new Option("三亚","1");
subTypeForm.options[2]=new Option("琼海","2");2:你可以自己写一个taglib
我们就是用第二种方法实现的。不过代码比较大。看起来不是很容易懂。
所以就不贴了。。
它的选项值已知:a1、a2、a3等等
我要根据A中所选择的值,去 查 不 同的 数 据 库,获得一些数据如a11,a12,a13,a21,a22,a23,a31,a32,a33
比如我选择的是 a2 ,那么我就要去 查 找 a2 这 个 表,得到a21,a22,a23三个值,
多选框B....
这个选框里显示的将是动态取得的值:
a21,a22,a23
就是说要根据A选择的值,决定B的值然后显示出来!呵呵,不知道这次所清楚了没有,我做了一天没有做出个结果来,大家帮帮忙吧!!
<form name=xxxxx>
<select name="select_1" onchenge="xxx"></select>
<script>
function xxx(){
document.xxxxx.submit();
}
</script><%
String ss=request.getParameter("select_1")
if(ss!=null&&ss.length()>0ss.equals("null")){
String sql=" select * from table where xxx='"+ss+"'";
//查询数据库 并显示。
}
%>
String ss=request.getParameter("select_1")
if(ss!=null&&ss.length()>0!ss.equals("null")){
String sql=" select * from table where xxx='"+ss+"'";
//查询数据库 并显示。
}
%>
<select name="sel" onchange="javascript:ddd()">
<option selected="selected">-请选择-</option>
<option value="BNEHost">主机</option>
<option value="BNEProtocol">应用</option>
<option value="BNEPrefix">网段</option>
</select></form>
function ddd(){
document.ddd.submit();
return true;
} String tableName = request.getParameter("sel");
if(tableName!=null&&tableName.length()>0&&!tableName.equals("null")){取数}现在是提示:<select name="sel" onchange="javascript:ddd()">
这行:对象不支持次属性和方法!
这行:<select name="sel" onchange="javascript:ddd()">
出的错误是:对象不支持次属性或方法!有可能是<form>的错吗,我是把<form></form>放在了一个<td></td>中。有没有这个原因?
*
*
*
</form><body>
像这样的东西,你应该自己多试试阿。
具体什么原因我也不太清楚。
onchange="javascript:ddd()"> 换成 onchange="ddd()">试试看。
呵呵找到错误了:::
基本网元类型选择:<select name="itemA" onchange="javascript:ddd.submit();">
应该加“;”
或者:
基本网元类型选择:<select name="itemA" onchange="javascript:ddd();">
也要加";"
好难呀!总于找到问题的所在了!谢谢大你!!!!!!!!!!!!!嘿嘿!