怎么把jsp页面列表框text值传到servlet

dong12 2010-03-21 10:55:27
<select name="dw" onChange="change(1,this.value)">


<option selected>==请选择==</option>
<%

Collection dws = dwInFo.getDw();
Iterator it = dws.iterator();
while (it.hasNext()) {
dataDW temp = (dataDW) it.next();
try {

out.println("<option value=" + temp.getDWBH() + ">"
+ temp.getDWMC());
} catch (Exception e) {
e.printStackTrace();
}

}

%>
</select>


然后在SERVLET 写
request.getParameter("dw");

只是得到所选择的列表框的VALUE值,怎么才能得到text值呢,急,请各位帮忙
...全文
495 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
iso_wangjian 2010-03-23
  • 打赏
  • 举报
回复
jsp: <type="text" name="username">
servlet:
request.getParameter("username");
这样就可以到了
xxd_super 2010-03-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yjw3160 的回复:]
change(1,this.value)这个js方法里加上:this.text得到选择的文本,把这个文本赋给一个hidden。应该ok。
[/Quote]

正解
xinzhifan4 2010-03-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yjw3160 的回复:]
change(1,this.value)这个js方法里加上:this.text得到选择的文本,把这个文本赋给一个hidden。应该ok。
[/Quote]

正解
x_pengcheng 2010-03-23
  • 打赏
  • 举报
回复
做一个隐藏域,把Text属性值负到隐藏域里。
后台直接request.getParameter()获取。
dong12 2010-03-23
  • 打赏
  • 举报
回复
以上说的,我明白dwmc=document.frmLog.dw.options[document.frmLog.dw.options.selectedIndex].text;这个值取出来,
td><input type="hidden" name="mc" value=<%=dwmc%>></td>
然后在SERVLET中调用request.getParameter("mc");这个值是空的呢
dong12 2010-03-22
  • 打赏
  • 举报
回复
%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="Com.Table.dataDW"%>
<%@page import="Com.Table.dataBM"%>
<%@page import="Com.Table.dataYH"%>
<jsp:useBean id="dwInFo" class="Com.Bean.dwInfo" scope="page" />
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>物资管理系统--登陆</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">



function change(flag,value){
dwmc=document.frmLog.dw.options[document.frmLog.dw.options.selectedIndex].text;
var ajax=false;
try
{//
ajax=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try{
ajax=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e2)
{
ajax=false;
}
}

if(!ajax && typeof XMLHttpRequest!='undefined')
{
ajax=new XMLHttpRequest();
}

//获得二级分类列表
ajax.open("get","getInfo.jsp?flag="+flag+"&value="+value);

ajax.onreadystatechange=function()
{
if(ajax.readystate==4)
{
if(ajax.status==200)
{

//alert(ajax.responseText);
if(flag=="1")
{
var v=ajax.responseText.split("||");//req.responseText是服务器返回来的字符串
//alert(v[0]+"bbb");
//alert(v[1]+"ccc");
//alert(document.all("bm").options[document.all("bm").options.selectedIndex].text);
paint(document.all("bm"),v[0]);//更新部门下拉框
alert(document.frmLog.dw.options[document.frmLog.dw.options.selectedIndex].text+"sss");
paint(document.all("yh"),v[1]);//更新用户拉框

}
if(flag=="2")
{

//alert(ajax.responseText+"ddd");
var v=ajax.responseText;
paint(document.all("yh"),v);//更新用户下拉框

}

}

}
}
ajax.send();

}

function paint(obj,value)//根据一对数据去更新一个下拉框
{
var ops = obj.options;
var v=value.split(";");//得到一些数据,(修改过了..)
while(ops.length>0)//先清空原来的数据
{
ops.remove(0);
}
for(var i=0;i<v.length-1;i++)//把新得到的数据显示上去
{
var o = document.createElement("OPTION");//创建一个option把它加到下拉框中
o.value=v[i].split(",")[0];
o.text=v[i].split(",")[1];

ops.add(o);
}
}



function nullMm()
{
if (document.frmLog.mm.value=="")
{
alert("请输入密码");
return false;
}

}

</script>
</head>
<body bgcolor=#e1efdb>
<div align=center>
<marquee behavior="alternate" direction="left"
style="overflow: hidden;">
<h1>
<b><em>欢迎使用物资管理系统</em>
</b>
</h1>
</marquee>
<hr noshade="noshade">
<form action="Main" method="post" name="frmLog" onsubmit="javascript:return nullMm();">
<%
String dwmc="";
String bmmc="";
String yhmc="";
%>
<table align="center">
<tr>
<td height="50"></td>
</tr>
<tr valign="center">
<td>
单位名称:
</td>
<td>

<select name="dw" onchange="change(1,this.value)">

<option ></option>
<%
Collection dws = dwInFo.getDw();
Iterator it = dws.iterator();
while (it.hasNext()) {
dataDW temp = (dataDW) it.next();
try {

out.println("<option value=" + temp.getDWBH() + ">"
+ temp.getDWMC());

} catch (Exception e) {
e.printStackTrace();
}

}

%>
</select>

</td>
</tr>
<tr>
<td>部门名称:</td>
<td>

<select name="bm" onchange="change(2,this.value)">
<option>

</option>
</select>

</td>
</tr>
<tr valign="center">
<td>
用户名称:
</td>
<td>


<select name="yh" >
<option>

</option>
</select>

</td>
</tr>
<tr>
<td>
用户口令:
</td>
<td>
<input type="password" name="mm" size="10" maxlength="10">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="Submit" value="登 陆" name="submit">
</td>
</tr>

<tr>
<td><input type="hidden" name="mc" value=<%=dwmc%>></td>
</tr>
</table>

</form>
</div>

</body>
</html>


然后在SERVLET中调用request.getParameter("mc");得出为啥是空值呢,我想得到列表框的TEXT值
soliy 2010-03-21
  • 打赏
  • 举报
回复
把value=text不就可以了吗,至于不一样的,我想找不到吧,在select传输时应该不会把text传过去,除非你用javascript获得,然后再传
yjw3160 2010-03-21
  • 打赏
  • 举报
回复
change(1,this.value)这个js方法里加上:this.text得到选择的文本,把这个文本赋给一个hidden。应该ok。

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧