取不到生成的SELECT值?

tfish2014 2010-03-25 03:22:36






<%@ page contentType="text/html; charset=gb2312" language="java"%>
<%@ page import="java.util.List" %>
<%@ page import="java.util.*,com.seawind.product.bean.system.*"%>
<%@ page import="com.seawind.product.bussiness.services.system.*"%>

<%!
List list=null;

%>
<%
String strPath=request.getContextPath();
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>角色权限设置</title>

<link href="<%=strPath%>/css/css.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
//添加
function MoveOptions()
{
//获取左边列表值
var nolist=document.getElementById("no"); //获得no元素列表
var nolength=nolist.length; //获取no项目数
for(var i=0;i<nolength;i++)
{
//判断是否被选中
if(nolist.options(i).selected)
{
var selectvalue=nolist.options(i).text; //选中option的文本值
AddOptions(selectvalue); //调用函数(添加下拉列表选项)
}
}
}

//添加函数
function AddOptions(selvalue)
{
var result=document.getElementById("result"); //获取result元素列表
var resultlen=result.length; //获取result元素个数
var resultvalue="";

//判断是否首次添加
if(resultlen==0){
var y=document.createElement('option'); //创建option标签
y.text=selvalue;
result.add(y);
//return false
}else{
for(var j=0;j<resultlen;j++)
{
resultvalue=resultvalue+result.options(j).text; //循环输出右边下拉列表值
}

//获取右边列表选项,判断是否重复;重复不再添加
if(resultvalue.indexOf(selvalue)==-1)
{
var y=document.createElement('option'); //创建option标签
y.text=selvalue;
result.add(y);
}
}
}

//移除
function removeOption()
{
//获取右边列表值
var result=document.getElementById("result"); //获得result元素列表
var resultlen=result.length; //获取result项目数
for(var i=0;i<resultlen;i++)
{
if(result.options(i).selected)
{
result.options[i]=null;
--i; //这个很重要哦!如果不写,多项移除的时候就会出错了
}
}
}

//移除全部
function removeAll()
{
document.getElementById("result").length = 0;
}







//添加全部
function AddAll()
{
//获取左边列表值
var nolist=document.getElementById("no"); //获得no元素列表
var nolength=nolist.length; //获取左边下拉列表数
for(var i=0;i<nolength;i++)
{
var selectvalue=nolist.options(i).text; //选中option的文本值
AddOptions(selectvalue); //调用函数,添加到右边
}
}






//提交表单
function fished()
{
// var result=document.getElementById("result");
//alert='result';
document.form1.action="<%=strPath%>/servlet/RoleServlet?role=addrolepms";
document.form1.method="post";
document.form1.submit();

return;
}

</script>
</head>

<body class="body4">
<p> </p>
<table width="80%" border="0" align="center">
<tr>
<td align="center">
<strong>当前角色名称: </strong></td>
</tr>
</table>
<hr>

<form name="form1" >
<br />
<table width="80%" border="0" align="center">
<tr>
<td align="center">
所有权限
</td>
<td width="92" align="center" valign="middle">  </td>
<td align="center">
已有权限
</td>
</tr>
<tr>
<td width="269" align="center">
<select name="select" size="15" multiple id="no"
style="width: 269px">
<%if(request.getAttribute("fpmslist")!=null){
list=(List)request.getAttribute("fpmslist");
if(list.size()>0){
for(int i=0;i<list.size();i++){
Ftm_pms ftmpms=(Ftm_pms)list.get(i);
out.print("<option value="+ftmpms.getId()+">"+ftmpms.getStatus()+"</option>");

}
}
} %>
</select>
</td>
<td align="center" valign="middle">
<table width="99%" border="0">
<tr>
<td align="center">
<input name="button" type="button" onClick="MoveOptions()"
value=" 添 加 " style="width: 80px" />
</td>
</tr>
<tr>
<td align="center">
<input type="button" name="Submit3" value="添加全部"
onClick="AddAll()" style="width: 80px" />
</td>
</tr>
<tr>
<td align="center">
<input type="button" name="Submit" value="移除"
onClick="removeOption()" style="width: 80px" />
</td>
</tr>
<tr>
<td align="center">
<input type="button" name="Submit2" value="移除全部"
onClick="removeAll()" style="width:80px" />
</td>
</tr>
</table>
</td>
<td width="232" align="center">
<select name="pms_code" size="15" multiple id="result"
style="width: 269px">

<%
try{
if(request.getAttribute("rpmslist")!=null){
list=(List)request.getAttribute("rpmslist");
if(list.size()>0){
for(int i=0;i<list.size();i++){
Role_permissions rolepms=(Role_permissions)list.get(i);
out.print("<option value="+rolepms.getPms_code()+">11</option>");

}
}
}

}catch(Exception e){
System.out.println(e.toString());
} %>

</select>



</td>
</tr>
<tr>
<td height="30" colspan="3" align="left">
 提示:按住 shift 或 ctrl 可选择多项
</td>
</tr>

<tr>
<td height="30" colspan="3" align="center">
<input type="button" name="Submit3" value="提交"
onClick="fished()" style="width: 80px" />
</td>
</tr>
</table>
</form>
</body>
</html>

















========================================================
后台request.getpar....取不到pms_code字段的值,当换成select2时能取到值
...全文
187 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
draglonglong 2010-08-06
  • 打赏
  • 举报
回复
楼主好。。我选择要实现你这种效果,能否给源码我看看下啊?谢谢了。。我不太会!289851411@qq.com谢了。。
tfish2014 2010-03-26
  • 打赏
  • 举报
回复
已经解决了 解释下吧 是因为 创建Option的JS有问题,创建时只传了文本框内容,没有传值过去
所有没有值,后台取值也只能通过JS里的跳转传值,直接取不到表单动态生成的值,(原因 不明)
  • 打赏
  • 举报
回复
好多呀……帮顶吧
tfish2014 2010-03-25
  • 打赏
  • 举报
回复
把权限从左边移到右边是可以的 上面的解释乱了 请不要误会
tfish2014 2010-03-25
  • 打赏
  • 举报
回复
效果是这样的

取不到 所有权限 赋给 已有权限 的值

左边添加 生成的值

bayougeng 2010-03-25
  • 打赏
  • 举报
回复
咋不用标签搞咧?

81,094

社区成员

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

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