表格中的上移和下移
来源:互联网 发布:桥接模式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标签代替。
- 表格中的上移和下移
- scrollTop上移和下移
- 表格数据的上移与下移功能
- php 实现上移和下移
- 类google的上移和下移
- datagrid实现行的上移和下移
- js小效果:上移和下移!
- 表格操作类(添加,删除,排序,上移,下移)
- 表格操作类(添加,删除,排序,上移,下移)
- 表格操作类(添加,删除,排序,上移,下移)
- 表格操作类(添加,删除,排序,上移,下移)
- jquery 动态控制表格,添加,删除,上移,下移,排序
- jquery 的 $().DataTable() 表格 行数据 上移下移
- ASP.Net中的TreeView控件中对节点的上移和下移操作
- C#上移,下移TreeView中的树节点顺序
- listBox 上移下移
- div 上移下移技术
- table : 上移,下移,置顶
- 读取boot.img头(根据Android源码中的bootimg.h读取)将kernel和ramdisk读取出来
- jsp表格添加行删除行以及校验行
- 如何招聘一个合格的程序员?
- 服务器端编程之如何开发IDispatch接口的实现类
- 十年MFC经历认识的Microsoft技术
- 表格中的上移和下移
- Sudoku Solver
- Linux串口(serial、uart)驱动程序设计
- Ejb3开发
- Ubuntu Nvidia 显卡 双屏显示设置
- file、inode在应用层和驱动层之间的联系
- ubuntu下c/c++开发环境配置
- 由于为列"***"指定了多个代码页(936和1252),无法处理此列 .
- A+B