表格中的上移和下移

来源:互联网 发布:桥接模式java类图 编辑:程序博客网 时间:2024/06/10 04:22
<%@page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@taglib prefix="s" uri="/struts-tags"%><%@taglib prefix="cache" uri="/cacheTag"%><%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%><html><head><base href="<%=basePath%> "><title>支付渠道列表</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><script type="text/javascript">//删除一行function deleteRow(eve) {if (confirm("确认删除")) {element = window.event ? window.event.srcElement : eve.target;var rowNo = element.parentNode.parentNode.rowIndex;var tbody = document.getElementById("tbody");tbody.deleteRow(rowNo - 1);}}//设置选中行的背景色var currentActiveRow;function changeActiveRow() {eve = arguments[0];element = window.event ? window.event.srcElement : eve.target;obj = element.parentNode;while (obj && obj.tagName != "TR") {obj = obj.parentNode;}if (currentActiveRow)currentActiveRow.style.backgroundColor = "";currentActiveRow = obj;currentActiveRow.style.backgroundColor = "Blue";}///////////////////移动行////////////////function cleanWhitespace(element) {//遍历element的子节点for (var i = 0; i < element.childNodes.length; i++) {var node = element.childNodes[i]if (node.nodeType == 3 && !/\s/.test(node.nodue))node.parentNode.removeChild(node);}}//使表格行上移,接收参数为链接对象function moveUp(_a) {//获得表格对象var _table = document.getElementById("tbody");cleanWhitespace(_table);//通过链接对象获取表格行的引用//var _row = _a.parentNode.parentNode;var _row = currentActiveRow;//如果不是第一行 交换顺序if (_row.previousSibling)swapNode(_row, _row.previousSibling);}//使表格行下移 接收参数为链接对象function moveDown(_a) {//获得表格对象var _table = document.getElementById("tbody");cleanWhitespace(_table);//通过链接对象获取表格行的引用//var _row = _a.parentNode.parentNode;var _row = currentActiveRow;//如果不是最后一行 则与下一行交换顺序if (_row.nextSibling)swapNode(_row, _row.nextSibling);}//定义通用的函数交换两个节点的位置function swapNode(node1, node2) {//获取父节点var _parent = node1.parentNode;//获取两个节点的相应位置var _t1 = node1.nextSibling;var _t2 = node2.nextSibling;//将node2插入到原来node1的位置if (_t1)_parent.insertBefore(node2, _t1);else_parent.appendChild(node2);//将node1插入到原来ndoe2的位置if (_t2)_parent.insertBefore(node1, _t2);else_parent.appendChild(node1);}      </script></head><body><table width="96%" align="center" class="condition"><caption>Web支付渠道</caption><thead id="thead"><tr onclick="changeActiveRow(this);"><td align="center" width="24%">渠道名称</td><td align="center" width="24%">代收类型</td><td align="center" width="24%">是否分账</td><td align="center" width="24%">操作</td></tr></thead><tbody id="tbody"></tbody></table><table width="96%" align="center" class="condition"><caption>终端支付渠道</caption><thead id="thead"><tr onclick="changeActiveRow(this);"><td align="center" width="24%">渠道名称</td><td align="center" width="24%">代收类型</td><td align="center" width="24%">是否分账</td><td align="center" width="24%">操作</td></tr></thead><tbody id="tcbody"></tbody></table></body></html>

引用的页面为:

<%@page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@taglib prefix="s" uri="/struts-tags"%><%@taglib uri="/dttag" prefix="dt"%><%@taglib prefix="cache" uri="/cacheTag"%><%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><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"><dt:comppath></dt:comppath><script type="text/javascript">  jQuery(function(){var form = $("#platformRegisterForm")[0];$("#btnOK").bind('click', function(event) {addPlatUserInfo();});$("#btnCancle").bind('click', function(event) {window.location.href= "<%=path%>/Home.action";});$("#btnReset").bind('click', function(event) {//删除列表var theTable = document.getElementById("tbody");while(theTable.hasChildNodes()){theTable.removeChild(theTable.lastChild);}//删除终端列表var thecTable = document.getElementById("tcbody");while(thecTable.hasChildNodes()){thecTable.removeChild(thecTable.lastChild);}form.reset();});$("#moveUp1").bind('click', function(event) {moveUp();});$("#moveDown1").bind('click', function(event) {moveDown();});$("#selectPayChannel1").bind('click', function(event) {payChannel();});});var dealAccess = false;function dealAccessClick(selected){if(selected == true){dealAccess = true;}else{dealAccess = false;}}function checked(){ var mobileregx=/^[1][358]\d{9}$/;         var mailregx=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;         var new_mobileNbr=dt$.obj("#new_mobileNbr").val();         var new_email=dt$.obj("#new_email" ).val();         if(new_mobileNbr != "" && !mobileregx.test(new_mobileNbr)){            dt$.warn("联系电话格式不正确");            return false;         }        if(new_email !="" && !mailregx.test(new_email)) {           dt$.warn("电子邮箱格式不正确");           return false;         }if(!dealAccess){dt$.warn("请您选择是否同意注册协议");         return false;}var tbody = document.getElementById("tbody");var tcbody = document.getElementById("tcbody");var rowNo = tbody.rows.length;var rowcNo = tcbody.rows.length;if(((rowNo-0)+(rowcNo-0))==0){ dt$.warn("请您至少选择一种支付渠道");           return false;}return true;}//增加平台用户信息function addPlatUserInfo(){var url = "common/PayCenterRegisterAction!addPlatUser.action";var params = $("#platformRegisterForm").serialize();if (dt$.validate('#platformRegisterForm')&&checked()) {var urlname = "<%=path%>/common/PayCenterRegisterAction!checkLoginName.action"+"?registerTVO.loginName="+$('#centerUserLoginName').val();             dt$.ajaxPost(urlname,"", function(data){                 if (data!="SUCCESS") {                        dt$.warn("登录用户名已存在", null, function() {});                        return false;                  }else{                    var param = $('#platformRegisterForm' ).serialize();                        dt$.ajaxPost(url,param, function(data){                              if (data!="SUCCESS") {                                     dt$.warn("操作失败", null, function() {                                          window.location.href= "<%=path%>/Home.action";                                     });                               }else{                                     dt$.success("注册成功,请等待管理员审核", null,function (){                                     window.location.href= "<%=path%>/Home.action";                                     });                               }                        } );                     }           });          }     }//选择支付渠道function payChannel(){    var url = "<%=path%>/common/PayChannelAction!showMain.action?useType=B";        var resultWindow = window.showModalDialog(url,window,"dialogWidth=900px;dialogHeight=500px;");if(resultWindow == null){return;}//删除列表var theTable = document.getElementById("tbody");while(theTable.hasChildNodes()){theTable.removeChild(theTable.lastChild);}//删除终端列表var thecTable = document.getElementById("tcbody");while(thecTable.hasChildNodes()){thecTable.removeChild(thecTable.lastChild);}for(var k=0;k<resultWindow.length;k++){var tbody = document.getElementById("tbody");var tcbody = document.getElementById("tcbody");var rowNo = tbody.rows.length;var rowcNo = tcbody.rows.length;var isLedgerLabel ;//是否支持分账var proxyServiceTypeLabel;//是否代收if(resultWindow[k].proxyServiceType == 'N'){proxyServiceTypeLabel = '不代收';}else if(resultWindow[k].proxyServiceType == 'R'){proxyServiceTypeLabel = '瑞德代收';}else{proxyServiceTypeLabel = '业务平台代收';}if(resultWindow[k].isNeedLedger == 'true'){isNeedLedgerLabel = '是';}else{isNeedLedgerLabel = '否';}if(resultWindow[k].payType == 'W'){tbody.insertRow(rowNo);tbody.rows[rowNo].insertCell(0);tbody.rows[rowNo].cells[0].innerHTML = '<s:label value="'+resultWindow[k].payChannelName +'"></s:label>'+'<input type="hidden" name="registerTVO.payChannelName" value="'+resultWindow[k].payChannelName +'"/>'+'<input type="hidden" name="registerTVO.payChannelId" value="'+resultWindow[k].payChannelId +'"/>'+'<input type="hidden" name="registerTVO.payCodeW" value="'+resultWindow[k].payCode +'"/>'+'<input type="hidden" name="registerTVO.ledgerListDoc" value="'+resultWindow[k].ledgerList +'"/>'+'<input type="hidden" name="registerTVO.payCode" value="'+resultWindow[k].payCode +'"/>'+'<input type="hidden" name="registerTVO.payChannelPartnerId" value="'+resultWindow[k].payChannelPartnerId +'"/>'+'<input type="hidden" name="registerTVO.payChannelPartnerKey" value="'+resultWindow[k].payChannelPartnerKey +'"/>'+'<input type="hidden" name="registerTVO.ext1" value="'+resultWindow[k].ext1 +'"/>';tbody.rows[rowNo].insertCell(1);tbody.rows[rowNo].cells[1].innerHTML = '<s:label name="payChannelList.proxyServiceType" value="'+proxyServiceTypeLabel +'"></s:label>'+'<input type="hidden" name="registerTVO.proxyServiceType" value="'+resultWindow[k].proxyServiceType +'"/>';tbody.rows[rowNo].insertCell(2);tbody.rows[rowNo].cells[2].innerHTML = '<s:label name="payChannelList.payChannel.partnerId" value="'+isNeedLedgerLabel +'"></s:label>'+'<input type="hidden" name="registerTVO.isNeedLedger" value="'+resultWindow[k].isNeedLedger +'"/>';tbody.rows[rowNo].insertCell(3);tbody.rows[rowNo].cells[3].innerHTML = "<input type='button' value='删除' onclick='deleteRow(event)'/>";tbody.rows[rowNo].onclick = changeActiveRow;}else{tcbody.insertRow(rowcNo);tcbody.rows[rowcNo].insertCell(0);tcbody.rows[rowcNo].cells[0].innerHTML = '<s:label value="'+resultWindow[k].payChannelName +'"></s:label>'+'<input type="hidden" name="registerTVO.payChannelName" value="'+resultWindow[k].payChannelName +'"/>'+'<input type="hidden" name="registerTVO.payChannelId" value="'+resultWindow[k].payChannelId +'"/>'+'<input type="hidden" name="registerTVO.payCodeC" value="'+resultWindow[k].payCode +'"/>'+'<input type="hidden" name="registerTVO.ledgerListDoc" value="'+resultWindow[k].ledgerList +'"/>'+'<input type="hidden" name="registerTVO.payCode" value="'+resultWindow[k].payCode +'"/>'+'<input type="hidden" name="registerTVO.payChannelPartnerId" value="'+resultWindow[k].payChannelPartnerId +'"/>'+'<input type="hidden" name="registerTVO.payChannelPartnerKey" value="'+resultWindow[k].payChannelPartnerKey +'"/>'+'<input type="hidden" name="registerTVO.ext1" value="'+resultWindow[k].ext1 +'"/>';tcbody.rows[rowcNo].insertCell(1);tcbody.rows[rowcNo].cells[1].innerHTML = '<s:label name="payChannelList.proxyServiceType" value="'+proxyServiceTypeLabel +'"></s:label>'+'<input type="hidden" name="registerTVO.proxyServiceType" value="'+resultWindow[k].proxyServiceType +'"/>';tcbody.rows[rowcNo].insertCell(2);tcbody.rows[rowcNo].cells[2].innerHTML = '<s:label name="payChannelList.payChannel.partnerId" value="'+isNeedLedgerLabel +'"></s:label>'+'<input type="hidden" name="registerTVO.isNeedLedger" value="'+resultWindow[k].isNeedLedger +'"/>';tcbody.rows[rowcNo].insertCell(3);tcbody.rows[rowcNo].cells[3].innerHTML = "<input type='button' value='删除' onclick='deleteRow(event)'/>";tcbody.rows[rowcNo].onclick = changeActiveRow;}}}     </script></head><body><form id="platformRegisterForm" method="post"><table width="96%" align="center" class="condition"><tr><th>平台名称:</th><td><s:token></s:token><dt:input id="registeTypeId" name="registerTVO.gucode"inputType="hidden" value="0"></dt:input><dt:input id="ownerTypeId" name="registerTVO.ownerType"inputType="hidden" value="B"></dt:input><dt:input id="businessPlatformName"name="registerTVO.businessPlatformName" required="true"prompt="平台名称" length="32"></dt:input></td><th width="10%" align="left">登录名称:</th><td><dt:input id="centerUserLoginName" name="registerTVO.loginName" required="true" prompt="登录名称"length="20"></dt:input></td></tr><tr><th>联系电话:</th><td><dt:input id="new_mobileNbr" name="registerTVO.teleNo"required="true" prompt="联系电话" length="11"></dt:input></td><th>邮箱:</th><td><dt:input id="new_email" name="registerTVO.email"required="true" prompt="邮箱"></dt:input></td></tr><tr><th>平台描述:</th><td><dt:input id="businessPlatformDesc"name="registerTVO.businessPlatformDesc" required="true"prompt="平台名称" length="128"></dt:input></td><th>回调地址:</th><td><dt:input id="expendAddress" name="registerTVO.expendAddress"required="true" prompt="回调地址" length="128"></dt:input></td></tr><tr><th>支付渠道:</th><td><dt:button id="selectPayChannel1" label="选择支付渠道"></dt:button><dt:button id="moveUp1" label="上移"></dt:button><dt:button id="moveDown1" label="下移"></dt:button></td></tr></table><div id="payChannelShow1"><s:include value="/pages/common/payChannelShowList.jsp"></s:include></div></form><div align="center"><s:checkbox name="dealAccess" value="false"onclick="dealAccessClick(this.checked);"></s:checkbox><s:label id="dealAccessLabel" value="同意《XXXX》协议"></s:label></div><div align="center"><dt:button id="btnOK" label="确定"></dt:button><dt:button id="btnCancle" label="取消"></dt:button><dt:button id="btnReset" label="重置"></dt:button></div></body></html>


其中的dt标签可以用struts标签代替。