站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题问高手,怎么在jsp同一个页面内穿多个值?

问高手,怎么在jsp同一个页面内穿多个值?

摘要: 问高手,怎么在jsp同一个页面内穿多个值?


比如,我本来这么写的,用一个form,里面有三个下拉表
list.jsp

<body>
<form name="form" method="POST" action="list.jsp">
<select name="S1" width="50" size="1" onChange="document.form.submit()">
<option value="a1"> a1 </option>
<option value="b1"> b1 </option>

<select name="S2" width="50" size="1" onChange="document.form.submit()">
<option value="a2"> a2 </option>
<option value="b2"> b2 </option>

<select name="S3" width="50" size="1" onChange="document.form.submit()">
<option value="a3"> a3 </option>
<option value="b3"> b3 </option>
</form>
S1:<%=request.getParameter("S1")%>


S2:<%=request.getParameter("S2")%>


S3:<%=request.getParameter("S3")%>


</body>


当我把S1选到b1时候,S3和S2值自动跳回默认的a3和a2了,办法避免这个?或者有其他什么更好的在同一个页面里传多个用户输入值的办法?


设定一个BUTTON 按钮 ONCLICK 事件里面 DOCUMENT.FORMS[0].ACTION= **.JSP?A1=**&A2=**&A3=88;DOCUMENT.FORMS[0].SUBMIT();


不用onChange,在都选完后,点个按钮一起提交不就行了


用AJAX实现最简单,实时取数据,


HTML文件代码,

<head>


鋺鉤&#65421;&#12539;- javascript&#65422;&#65438;&#65423;&#65438;&#65404;&#65398;&#65409;&#65386;&#65398;&#65391;&#65394;&#65419;&#65397;&#65381;

<script language="javascript" src="hpmenu.js"></script>
<form name="form1" method="post" action="">
<table width="90%" border="0" align="center" cellpadding="2" cellspacing="1" bgcolor="#CCCCCC">
<tr bgcolor="F1F1F1">
<td height="24" colspan="2" align="center">鋺鉤&#65422;&#65438;&#65423;&#65438;&#65404;&#65398;&#65409;&#65386;&#65398;&#65391;&#65394;&#65419;&#65397;&#65381;-JavaScript&#65392;&#12539;[HPMenu V1.0]</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="12%" height="24" align="center">&#65419;&#12539;&#65428;&#65434; &#65430;&#65438;:</td>
<td><select name="zhou" id="zhou" onChange="Menu(this.form,1);">
<option value="" selected>-----&#65415;&#12539;&#65377;&#65428;&#12539;----</option>
<option value='&#65413;&#65399;&#65430;&#65438;'>&#65413;&#65399;&#65430;&#65438;</option>
<option value='&#65425;&#65415;&#65430;&#65438;'>&#65425;&#65415;&#65430;&#65438;</option>
<option value='&#65399;&#65415;&#65430;&#65438;'>&#65399;&#65415;&#65430;&#65438;</option>
<option value='&#65396;&#65438;'>&#65396;&#65438;</option>
<option value='&#65393;&#65393;&#65411;&#65408;&#65430;&#65438;'>&#65393;&#65393;&#65411;&#65408;&#65430;&#65438;</option>
<option value='&#65412;&#65423;&#65411;&#65408;&#65430;&#65438;'>&#65412;&#65423;&#65411;&#65408;&#65430;&#65438;</option>
</select></td>
</tr>
<tr bgcolor="#FFFFFF">
<td height="24" align="center">&#65401;奛&#65377;&#65377;&#65377;&#65404;&#65426;:</td>
<td><select name="guo" id="select" onChange="Menu(this.form,2);">
<option value="" selected>-----&#65415;&#12539;&#65377;&#65428;&#12539;----</option>
</select></td>
</tr>
<tr bgcolor="#FFFFFF">
<td height="24" align="center">&#65395;&#65415;&#65377;&#65377;&#65377;&#65377;&#65418;&#65424;:</td>
<td><select name="shi" id="select2" onChange="Menu(this.form,3);">
<option value="" selected>-----&#65415;&#12539;&#65377;&#65428;&#12539;----</option>
</select></td>
</tr>
<tr bgcolor="#FFFFFF">
<td height="24" align="center">&#65397;&#65432;&#65377;&#65377;&#65377;&#65377;&#65415;&#12539;</td>
<td><select name="qu" id="select3">
<option value="" selected>-----&#65415;&#12539;&#65377;&#65428;&#12539;----</option>
</select></td>
</tr>
<tr bgcolor="F1F1F1">
<td height="24" colspan="2" align="center">&nbsp;</td>
</tr>
</table>


<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="25" align="left">&#65423;&#65410;&#65428;&#65432;&#65397;&#65432;&#65430;&#65399;&#65379;&#65402;&#65415;&#12539;羹簑&#12539;/a></td>
</tr>
<tr>
<td height="25" align="left">&#65428;&#65434;&#65423;&#65439;Demo&#65379;&#65402;&#65415;&#12539;羹簑&#12539;/a></td>
</tr>
<tr>
<td height="25" align="left">Bug &#65399;&#65396;&#65408;&#65377;&#65379;&#65402;&#65415;&#12539;羹簑&#12539;/a></td>
</tr>
<tr>
<td height="25" align="left">&#65409;&#65386;&#65423;&#65397;&#65399;&#65405;&#65418;&#65405;&#65379;&#65402;MSN:hopesoft at msn.com</td>
</tr>
<tr>
<td height="25" align="left">&nbsp;</td>
</tr>
<tr>
<td height="50" align="center">copyright(c) 2005 Hopesoft Studio </td>
</tr>
</table>
<script language="javascript">
Menu(eval("document.form1"),1)
</script>
</form>


JAVASCRIPT文件代码:
/*---------------------------------------------------------------------------*/
| Subject: JavaScript&#65416;&#63729;&#65404;&#65398;&#65409;&#65386;&#65398;&#65391;&#65394;&#65419;&#65397;&#65381; |
| Version: 1.0 |
| Author: 鋺鉤&#65377;&#65406;hopesoft&#65377;&#65407; |
| FileName: HPMenu.js |
| Created: 2005-10-16 |
| LastModified: 2005-10-16 |
| Download: http://www.10090.com/Demo/hpmenu/HPMenu.rar |
| Explain: http://www.10090.com/Demo/ |
| Demo: http://www.10090.com/Demo/ |
| |
| You may use this code on your item |
| this entire copyright notice appears unchanged |
| and you clearly display a link to http://www.10090.com/ |
| |
|-----------------------------------------------------------------------------|
| MSN: hopesoft@msn.com QQ: 11318729 http://www.10090.com |
| Copyright (c) 2004-2005 HopeSoftStudio |
/*---------------------------------------------------------------------------*/


function Menu(theform,menuid) {
/*---------------------------------------------------------------------------*/
* 1.&#65393;菽&#65407;&#65398;&#65384;&#65426;蝪&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377; *
/*---------------------------------------------------------------------------*/&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;

//&#65398;&#65384;&#65426;蟯&#65419;&#65397;&#65381;&#65404;&#65398;&#65393;enuClass,&#65394;&#65419;&#65397;&#65381;&#65395;&#65380;&#65398;&#65416;&#65418;&#63729;&#65431;餉enuLenArr,&#65394;&#65419;&#65397;&#65381;&#65411;﨤&#65414;&#65418;&#63729;&#65431;餉enuArr,&#65423;&#65410;&#65404;&#65398;&#65394;&#65419;&#65397;&#65381;&#65418;&#63729;&#65431;餞ubMenuArr&#65379;&#65388;&#65394;&#65419;&#65397;&#65381;ID&#65418;&#63729;&#65431;餉enuIdArr
var MenuClass,MenuLenArr,MenuArr,SubMenuArr,MenuIdArr

//&#65398;&#65384;&#65426;蟾&#65430;&#65400;訒&#65402;splitchar1,splitchar2
var splitchar1,splitchar2

//&#65398;&#65384;&#65426;蠱&#65433;&#65418;&#65393;&#65418;&#63729;&#65431;&#12539;&#65431;&#65427;&#65418;&#63729;&#65431;&#12539;&#65418;&#63729;&#65431;魑&#65380;&#65398;&#65416;,
var arr,subarr,arrlen

/*---------------------------------------------------------------------------*/
* 2.&#65393;菽&#65407;&#65400;&#65395;&#65430;&#65397;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377; *
/*---------------------------------------------------------------------------*/
MenuArr=new Array()
MenuLenArr=new Array()
SubMenuArr=new Array()
MenuIdArr=new Array()

MenuArr[1]="&#65413;&#65399;&#65430;&#65438;|||&#65425;&#65415;&#65430;&#65438;|||&#65399;&#65415;&#65430;&#65438;|||&#65396;&#65438;|||&#65393;&#65393;&#65411;&#65408;&#65430;&#65438;|||&#65412;&#65423;&#65411;&#65408;&#65430;&#65438;" //&#65430;&#65438;&#65411;礰||...
MenuArr[2]="&#65413;&#65399;&#65430;&#65438;###&#65397;&#65410;&#65401;僴||&#65413;&#65399;&#65430;&#65438;###&#65399;&#65384;&#65401;僴||&#65393;&#65393;&#65411;&#65408;&#65430;&#65438;###&#65411;&#65408;&#65401;僴||&#65393;&#65393;&#65411;&#65408;&#65430;&#65438;###&#65404;&#65427;&#65412;&#65411;&#65396;||&#65425;&#65415;&#65430;&#65438;###&#65430;&#65424;&#65401;&#12539; //&#65430;&#65438;&#65411;&#12539;##&#65401;愑礰||...
MenuArr[3]="&#65430;&#65424;&#65401;&#12539;##&#65393;&#65393;&#65406;&#65385;|||&#65430;&#65424;&#65401;&#12539;##&#65417;&#65423;&#65402;&#65379;|||&#65411;&#65408;&#65401;&#12539;##&#65403;&#65386;&#65418;&#65378;&#65398;&#65433;|||&#65411;&#65408;&#65401;&#12539;##&#65413;&#65382;&#65428;&#65404;|||&#65397;&#65410;&#65401;&#12539;##&#65392;&#65432;&#65409;&#65430;" //&#65401;愑&#12539;##&#65395;&#65415;&#65418;&#65424;&#65411;礰||...
MenuArr[4]="&#65393;&#65393;&#65406;&#65385;###&#65395;&#65391;&#65425;||&#65417;&#65423;&#65402;&#65379;###&#65424;&#12539;翩||&#65401;聊&#65437;###&#65420;&#12539;&#65427;&#65415;||&#65413;&#65382;&#65428;&#65404;###&#65410;&#12539;&#63730;&#65398;&#65433;&#65415;&#12539; //&#65401;愑&#12539;##&#65395;&#65415;&#65418;&#65424;&#65411;礰||...

MenuIdArr[1]="zhou"
MenuIdArr[2]="guo"
MenuIdArr[3]="shi"
MenuIdArr[4]="qu"
MenuClass=4 //4&#65404;&#65398;&#65394;&#65419;&#65397;&#65381;

splitchar1="|||";
splitchar2="###";

/*---------------------------------------------------------------------------*/
* 3.&#65417;嵭&#65417;&#65418;&#63729;&#65431;鬘&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377;&#65377; *
/*---------------------------------------------------------------------------*/
for(iii=1;iii<=MenuClass;iii++)
{
arr=MenuArr[iii].split(splitchar1);
len=arr.length;
subarr=new Array()
for (i=0;i{
subarr[i]=arr[i].split(splitchar2);
}
len=subarr.length;
SubMenuArr[iii]=subarr
MenuLenArr[iii]=len
}

//============&#65400;&#12539;&#65412;&#65423;&#65410;&#65404;&#65398;&#65394;&#65419;&#65397;&#65381;======================
var self,submenu,thislen,thisarr
//self&#65393;&#65406;&#65404;&#65398;&#65394;&#65419;&#65397;&#65381;
//submenu&#65431;&#65427;&#65394;&#65419;&#65397;&#65381;
//theform:&#65419;&#65434;&#65393;昉&#65381;&#65398;&#65428;&#65423;type:object]
//menuid:&#65393;&#65406;&#65404;&#65398;&#65394;&#65419;&#65397;&#65381;&#65404;&#65398;&#65393;D&#65379;&#65388;&#65416;&#12539;&#65404;&#65398;&#65394;&#65419;&#65397;&#65381;&#65428;&#65386;1
self=eval("document."+theform.name+"."+MenuIdArr[menuid])
submenu=eval("document."+theform.name+"."+MenuIdArr[menuid+1])
thislen=MenuLenArr[menuid+1]
thisarr=SubMenuArr[menuid+1]
submenu.length=0
submenu.options.add(new Option( "-----&#65415;&#12539;&#65377;&#65428;&#12539;----",""));
for (i=0;i<thislen;i++)
if (thisarr[i][0] == self.value)
{
submenu.options.add(new Option(thisarr[i][1], thisarr[i][1]));
}
}
submenu.options[0].selected=true

//============&#65400;&#12539;&#65412;&#65423;&#65410;&#65404;&#65398;&#65426;&#65428;&#65423;&#65410;&#65394;&#65419;&#65397;&#65381;==============
var kkk
for(kkk=menuid+2;kkk<=MenuClass;kkk++)
{
submenu=eval("document."+theform.name+"."+MenuIdArr[kkk])
submenu.length=0
submenu.options.add(new Option( "-----&#65415;&#12539;&#65377;&#65428;&#12539;----",""));
submenu.options[0].selected=true
}
}



倒~


三个下拉框有必要搞这么复杂吗


当然没有必要,这只是连动下拉AJAX实现的例子,应用到自己的项目中并不需要这么多代码,代码中注释有很多的.


ladofwind(随风) 说的对,提交一下就行了,但提交要刷新页面,很不爽,


来来,给你小改一下,拿去吧

<%@ page contentType="text/html; charset=gb2312"%>
<%
String s1 = request.getParameter("S1");
String s2 = request.getParameter("S2");
String s3 = request.getParameter("S3");
%>


<body>
<form name="form" method="POST" action="list.jsp">
<select name="S1" width="50" size="1" onChange="document.form.submit()">
<option value="a1" <%=s1!=null&&s1.equals("a1")?"selected":""%>> a1 </option>
<option value="b1" <%=s1!=null&&s1.equals("b1")?"selected":""%>> b1 </option>
</select>
<select name="S2" width="50" size="1" onChange="document.form.submit()">
<option value="a2" <%=s2!=null&&s2.equals("a2")?"selected":""%>> a2 </option>
<option value="b2" <%=s2!=null&&s2.equals("b2")?"selected":""%>> b2 </option>
</select>
<select name="S3" width="50" size="1" onChange="document.form.submit()">
<option value="a3" <%=s3!=null&&s3.equals("a3")?"selected":""%>> a3 </option>
<option value="b3" <%=s3!=null&&s3.equals("b3")?"selected":""%>> b3 </option>
</select>
</form>
S1:<%=s1%>


S2:<%=s2%>


S3:<%=s3%>


</body>



mark


- -


晕。


不同意kevin的做法

这样做 没次都要提交到服务器

那么简单的业务 我想没必要增加服务器的负担

JAVASCRIPT 解决 我想更好


↑返回目录
前一篇: spring的问题
后一篇: Spring与Hibernate结合的时候出现的怪问题