在jsp中可以用隐藏域把一些页面复杂的数据(树形数据)经过js处理(提交前的校验)保存起来,
在提交的时候提交处理后的数据。
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="warp tc bc mt10">
<tr>
<td width="150" align="left" valign="top"><%@ include file="/WEB-INF/views/myaccount/myaccountleft.jsp"%></td>
<td valign="top">
<div class="right_warp">
<!--我的位置 开始-->
<div class="navigate1 pl10">
我的位置:我的账户 > 子账户管理 > 修改权限
</div>
<!--我的位置 结束-->
<!--中标结果发布 开始-->
<div class="p15">
<form method="post" id="roleEditForm">
<input type="hidden" name="rolesKey" id="rolesKey" value="${dataMap.rolesKey}"/>
<input type="hidden" name="powerGroup" id="powerGroup"/><!-- 角色主键 -->
<div class="htbh">
<div class="fl">
<label for="" class="ul_form_label w130 pr5"><font color="red">*</font> 权限:</label>
<input maxlength="16" class="date_search_input230" οnfοcus="if(this.value=='只能输入16个字符'){this.value=''}" οnblur="if(this.value==''){this.value='只能输入16个字符'}" style="padding-left: 5px; color: #666666;" type="text" name="rolesName" id="role_ROLES_NAME" value="${dataMap.rolesName}"/>
</div>
</div>
<div class="htbh mt5">
<div class="fl">
<label for="" class="ul_form_label w130 pr5">描述:</label>
<textarea οnfοcus="if(this.value=='只能输入200个字符'){this.value=''}" οnblur="if(this.value==''){this.value='只能输入200个字符'}" cols="43" rows="5" class="pl5 pt5 pr5" style="color: #666666; resize:none;" id="role_DEPICT" name="depict">${dataMap.depict}</textarea>
</div>
</div>
</form>
<div class ="cb" style="position:relative; left:500px;top:-120px" >
<div id="layoutSimple" style="width: 99.8%;">
<div position="left" title="权限分配" id="accordionSimple"
style="text-align: left; overflow: auto;">
<ul id="mtreeSimple" style="margin-top: 3px;">
${simpleOfTree}
</ul>
</div>
</div>
</div>
<!--button 开始-->
<div class="tc mb20 mt20 cb">
<input name="input" type="button" οnclick="edit();" class="btnhr30 mr5" value="修 改" />
<input name="input" type="button" οnclick="javascript:history.go(-1)" class="btnhh30 ml5" value="返 回" />
</div>
<!--button 结束-->
</div>
<!--中标结果发布 结束-->
</div>
</div>
</td>
</tr>
</table>
<script type="text/javascript">
//检测
function check(){
if($("#role_ROLES_NAME").val() == "" || $("#role_ROLES_NAME").val()=="只能输入16个字符"){
$.zd.alert("","请输入权限!");
return false;
}
if(!checkLength("role_ROLES_NAME","权限",16))return false;
if($("#role_DEPICT").val() == "只能输入200个字符"){
$("#role_DEPICT").val("");
}
if($("#role_DEPICT").val()!=null && $("#role_DEPICT").val()!=""){
if(!checkLength("role_DEPICT","描述",200))return false;
}
return true;
}
//修改保存
function edit(){
if(!savaTree()){
return false;
}
if(!check()){
return false;
}
$.ajax({
url:"${path}/myaccount/role/editperm",
type:"post",
cache:false,
async:true,
dataType:"json",
data:$("#roleEditForm").formSerialize(),
success:function(ret){
if(ret==1){
$.zd.alert("","【"+$("#role_ROLES_NAME").val()+"】权限信息修改成功!",function(){
window.location.href="${path}/myaccount/role/getRoleList"
});
}else{
$.zd.alert('',ret.msg);
}
},
error:function(retMsg){
try{
var ret = eval("("+retMsg.responseText+")");
if(ret!=1){
$.zd.alert('',ret.msg);
}
}catch(eee){
}
}
});
}
function savaTree(){
try{
var data2 = getCheckedNodes(treeSimple);
}catch(e){
$.zd.alert("","请选择权限信息!");
return false;
}
if(null == data2 ||data2==""){
$.zd.alert("","请选择权限信息!");
return false;
}
treeDataToLongArray(data2);
return true;
}
function treeDataToLongArray(treedataToJson){
var jsonObj = '';
for(var i=0;i< treedataToJson.length;i++){
jsonObj += treedataToJson[i].data.NodeID;
if(i!=treedataToJson.length-1){
jsonObj +=",";
}
}
$("#powerGroup").val(jsonObj);
}
</script>
<c:forEach items="${fn:split(groupKey,',')}" var="item">
<script type="text/javascript">
var idKey=${item};
setNodeCheck(treeSimple,treeData,idKey);
</script>
</c:forEach>