前台js(调用父页面的一个隐藏域):
//a[i]为checkbox,checkbox的value为要传递到后台的值。
function checkAll(str) { var parent=window.parent.document.getElementById('ListPages'); var a = document.getElementsByName(str); var n = a.length; for (var i=0; i<n; i++) { a[i].checked = window.event.srcElement.checked; } if(window.event.srcElement.checked) for (var i1=0; i1<n; i1++) { if (!(parent.value.indexOf("["+a[i1].value+"]")>=0)) parent.value+="["+a[i1].value+"]"; } var s=parent.value; if(!window.event.srcElement.checked) for (var i11=0; i11<n; i11++) { parent.value=s.substring(0,s.indexOf('['+a[i11].value+']'))+s.substring(s.indexOf('['+a[i11].value+']')+('['+a[i11].value+']').length,s.length); s=parent.value; } //alert(parent.value); } function checkItem(str) { var parent=window.parent.document.getElementById('ListPages'); // var parent=parent.document.getElementById('ListPages'); var e = window.event.srcElement; var b = document.getElementsByName("allCheck"); var s=parent.value; if(e.checked) { parent.value+='['+e.value+']'; ifAllChecked(); } if(!e.checked) { parent.value=s.substring(0,s.indexOf('['+e.value+']'))+s.substring(s.indexOf('['+e.value+']')+('['+e.value+']').length,s.length); ifAllChecked(); } // alert(parent.value); } function ifAllChecked(){ var all = eval("document.all.allCheck" ); all.checked=true; var a = document.getElementsByName("checkValue"); for (var i=0; i<a.length; i++) { if (!a[i].checked) { all.checked = false; break; } } } function ifchecked() { var s=window.parent.document.getElementById('ListPages').value; var a = document.getElementsByName("checkValue"); var b = document.getElementsByName("allCheck"); for (var i=0; i<a.length; i++) { if (s.indexOf("["+a[i].value+"]")>=0) { a[i].checked=true ; } } ifAllChecked(); } window.onload = ifchecked;
后台java 解析代码:
String hiddenDeleteIds=request.getParameter("hiddenDeleteIds");
for(int i=0;i<hiddenDeleteIds.length();i++)
{
if(hiddenDeleteIds.charAt(i)=='[')
hiddenDeleteIds=hiddenDeleteIds.substring(0,i)+hiddenDeleteIds.substring(i+1);
}
String[] idArray=hiddenDeleteIds.split("]");
两外两个地方就是:
父页面的隐藏域:<input type="hidden" name="ForSupPagesListPages" value="" id="ListPages"/>
还有就是在:新添页面中,提交时候的隐藏域值的清空。