table.jsp
上传用户:jhtang88
上传日期:2014-01-27
资源大小:28528k
文件大小:13k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. <%@ page contentType="text/html;charset=utf-8" %>
  2. <%@ taglib uri="/WEB-INF/tlds/LabelTag.tld" prefix="lt" %>
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  4. <HTML><HEAD>
  5. <META http-equiv=Content-Type content="text/html; charset=utf-8">
  6. <META http-equiv=Expires content=0><LINK href="table_files/pop.css" 
  7. type=text/css rel=stylesheet>
  8. <SCRIPT language=JavaScript>
  9. var sAction = "INSERT";
  10. var sTitle = "<lt:Label res="res.label.editor_full.table" key="insert"/>";
  11. var oControl;
  12. var oSeletion;
  13. var sRangeType;
  14. var sRow = "1";
  15. var sCol = "1";
  16. var sAlign = "";
  17. var sBorder = "1";
  18. var sCellPadding = "3";
  19. var sCellSpacing = "2";
  20. var sWidth = "";
  21. var sBorderColor = "#CCCCCC";
  22. var sBgColor = "#FFFFFF";
  23. var sWidthUnit = "%"
  24. var bCheck = true;
  25. var bWidthDisable = false;
  26. var sWidthValue = "100"
  27. oSelection = dialogArguments.cws_Composition.document.selection.createRange();
  28. sRangeType = dialogArguments.cws_Composition.document.selection.type;
  29. if (sRangeType == "Control") {
  30. if (oSelection.item(0).tagName == "TABLE"){
  31. sAction = "MODI";
  32. sTitle = "<lt:Label res="res.label.editor_full.table" key="modify"/>";
  33. oControl = oSelection.item(0);
  34. sRow = oControl.rows.length;
  35. sCol = getColCount(oControl);
  36. sAlign = oControl.align;
  37. sBorder = oControl.border;
  38. sCellPadding = oControl.cellPadding;
  39. sCellSpacing = oControl.cellSpacing;
  40. sWidth = oControl.width;
  41. sBorderColor = oControl.borderColor;
  42. sBgColor = oControl.bgColor;
  43. }
  44. }
  45. document.write("<TITLE><lt:Label res="res.label.editor_full.table" key="page_title"/>[" + sTitle + "]</TITLE>");
  46. // 初始值
  47. function InitDocument(){
  48. SearchSelectValue(d_align, sAlign.toLowerCase());
  49. // 修改状态时取值
  50. if (sAction == "MODI"){
  51. if (sWidth == ""){
  52. bCheck = false;
  53. bWidthDisable = true;
  54. sWidthValue = "100";
  55. sWidthUnit = "%";
  56. }else{
  57. bCheck = true;
  58. bWidthDisable = false;
  59. if (sWidth.substr(sWidth.length-1) == "%"){
  60. sWidthValue = sWidth.substring(0, sWidth.length-1);
  61. sWidthUnit = "%";
  62. }else{
  63. sWidthUnit = "";
  64. sWidthValue = parseInt(sWidth);
  65. if (isNaN(sWidthValue)) sWidthValue = "";
  66. }
  67. }
  68. }
  69. switch(sWidthUnit){
  70. case "%":
  71. d_widthunit.selectedIndex = 1;
  72. break;
  73. default:
  74. sWidthUnit = "";
  75. d_widthunit.selectedIndex = 0;
  76. break;
  77. }
  78. d_row.value = sRow;
  79. d_col.value = sCol;
  80. d_border.value = sBorder;
  81. d_cellspacing.value = sCellSpacing;
  82. d_cellpadding.value = sCellPadding;
  83. d_widthvalue.value = sWidthValue;
  84. d_widthvalue.disabled = bWidthDisable;
  85. d_widthunit.disabled = bWidthDisable;
  86. d_bordercolor.value = sBorderColor;
  87. s_bordercolor.style.backgroundColor = sBorderColor;
  88. d_bgcolor.value = sBgColor;
  89. s_bgcolor.style.backgroundColor = sBgColor;
  90. d_check.checked = bCheck;
  91. }
  92. // 搜索下拉框值与指定值匹配,并选择匹配项
  93. function SearchSelectValue(o_Select, s_Value){
  94. for (var i=0;i<o_Select.length;i++){
  95. if (o_Select.options[i].value == s_Value){
  96. o_Select.selectedIndex = i;
  97. return true;
  98. }
  99. }
  100. return false;
  101. }
  102. // 选颜色
  103. function SelectColor(what){
  104. var dEL = document.all("d_"+what);
  105. var sEL = document.all("s_"+what);
  106. //var url = "selcolor.htm?color="+encodeURIComponent(dEL.value);
  107. //var arr = showModalDialog(url,window,"dialogWidth:280px;dialogHeight:250px;help:no;scroll:no;status:no");
  108. var arr = showModalDialog("selcolor.html", "", "dialogWidth:18.5em; dialogHeight:17.5em; status:0; help:0");
  109. if (arr) {
  110. dEL.value=arr;
  111. sEL.style.backgroundColor=arr;
  112. }
  113. }
  114. // 是否有效颜色值
  115. function IsColor(color){
  116. var temp=color;
  117. if (temp=="") return true;
  118. if (temp.length!=7) return false;
  119. return (temp.search(/#[a-fA-F0-9]{6}/) != -1);
  120. }
  121. // 只允许输入数字
  122. function IsDigit(){
  123.   return ((event.keyCode >= 48) && (event.keyCode <= 57));
  124. }
  125. // 判断值是否大于0
  126. function MoreThanOne(obj, sErr){
  127. var b=false;
  128. if (obj.value!=""){
  129. obj.value=parseFloat(obj.value);
  130. if (obj.value!="0"){
  131. b=true;
  132. }
  133. }
  134. if (b==false){
  135. BaseAlert(obj,sErr);
  136. return false;
  137. }
  138. return true;
  139. }
  140. // 得到表格列数
  141. function getColCount(oTable) {
  142. var intCount = 0;
  143. if (oTable != null) {
  144. for(var i = 0; i < oTable.rows.length; i++){
  145. if (oTable.rows[i].cells.length > intCount) intCount = oTable.rows[i].cells.length;
  146. }
  147. }
  148. return intCount;
  149. }
  150. // 增加行
  151. function InsertRows( oTable ) {
  152. if ( oTable ) {
  153. var elRow=oTable.insertRow();
  154. for(var i=0; i<oTable.rows[0].cells.length; i++){
  155. var elCell = elRow.insertCell();
  156. elCell.innerHTML = "&nbsp;";
  157. }
  158. }
  159. }
  160. // 增加列
  161. function InsertCols( oTable ) {
  162. if ( oTable ) {
  163. for(var i=0; i<oTable.rows.length; i++){
  164. var elCell = oTable.rows[i].insertCell();
  165. elCell.innerHTML = "&nbsp;"
  166. }
  167. }
  168. }
  169. // 删除行
  170. function DeleteRows( oTable ) {
  171. if ( oTable ) {
  172. oTable.deleteRow();
  173. }
  174. }
  175. // 删除列
  176. function DeleteCols( oTable ) {
  177. if ( oTable ) {
  178. for(var i=0;i<oTable.rows.length;i++){
  179. oTable.rows[i].deleteCell();
  180. }
  181. }
  182. }
  183. </SCRIPT>
  184. <SCRIPT language=JavaScript event=onclick for=Ok>
  185. // 边框颜色的有效性
  186. sBorderColor = d_bordercolor.value;
  187. if (!IsColor(sBorderColor)){
  188. BaseAlert(d_bordercolor,'<lt:Label res="res.label.editor_full.table" key="invalid_border_color"/>');
  189. return;
  190. }
  191. // 背景颜色的有效性
  192. sBgColor = d_bgcolor.value;
  193. if (!IsColor(sBgColor)){
  194. BaseAlert(d_bgcolor,'<lt:Label res="res.label.editor_full.table" key="invalid_bg_color"/>');
  195. return;
  196. }
  197. // 行数的有效性
  198. if (!MoreThanOne(d_row,'<lt:Label res="res.label.editor_full.table" key="invalid_row_count"/>')) return;
  199. // 列数的有效性
  200. if (!MoreThanOne(d_col,'<lt:Label res="res.label.editor_full.table" key="invalid_col_count"/>')) return;
  201. // 边线粗细的有效性
  202. if (d_border.value == "") d_border.value = "0";
  203. if (d_cellpadding.value == "") d_cellpadding.value = "0";
  204. if (d_cellspacing.value == "") d_cellspacing.value = "0";
  205. // 去前导0
  206. d_border.value = parseFloat(d_border.value);
  207. d_cellpadding.value = parseFloat(d_cellpadding.value);
  208. d_cellspacing.value = parseFloat(d_cellspacing.value);
  209. // 宽度有效值性
  210. var sWidth = "";
  211. if (d_check.checked){
  212. if (!MoreThanOne(d_widthvalue,'<lt:Label res="res.label.editor_full.table" key="invalid_width"/>')) return;
  213. sWidth = d_widthvalue.value + d_widthunit.value;
  214. }
  215. sRow = d_row.value;
  216. sCol = d_col.value;
  217. sAlign = d_align.options[d_align.selectedIndex].value;
  218. sBorder = d_border.value;
  219. sCellPadding = d_cellpadding.value;
  220. sCellSpacing = d_cellspacing.value;
  221. if (sAction == "MODI") {
  222. // 修改行数
  223. var xCount = sRow - oControl.rows.length;
  224.    if (xCount > 0)
  225.    for (var i = 0; i < xCount; i++) InsertRows(oControl);
  226.    else
  227.    for (var i = 0; i > xCount; i--) DeleteRows(oControl);
  228. // 修改列数
  229.    var xCount = sCol - getColCount(oControl);
  230.    if (xCount > 0)
  231.    for (var i = 0; i < xCount; i++) InsertCols(oControl);
  232.    else
  233.    for (var i = 0; i > xCount; i--) DeleteCols(oControl);
  234. try {
  235. oControl.width = sWidth;
  236. }
  237. catch(e) {
  238. //alert("对不起,请您输入有效的宽度值!n(如:90%  200  300px  10cm)");
  239. }
  240. oControl.align = sAlign;
  241.    oControl.border = sBorder;
  242.    oControl.cellSpacing = sCellSpacing;
  243.    oControl.cellPadding = sCellPadding;
  244.    oControl.borderColor = sBorderColor;
  245.    oControl.bgColor = sBgColor;
  246. }else{
  247. var sTable = "<table align='"+sAlign+"' border='"+sBorder+"' cellpadding='"+sCellPadding+"' cellspacing='"+sCellSpacing+"' width='"+sWidth+"' bordercolor='"+sBorderColor+"' bgcolor='"+sBgColor+"'>";
  248. for (var i=1;i<=sRow;i++){
  249. sTable = sTable + "<tr>";
  250. for (var j=1;j<=sCol;j++){
  251. sTable = sTable + "<td>&nbsp;</td>";
  252. }
  253. }
  254. sTable = sTable + "</table>";
  255. }
  256. window.returnValue = sTable;
  257. window.close();
  258. </SCRIPT>
  259. <META content="MSHTML 6.00.3790.373" name=GENERATOR></HEAD>
  260. <BODY bgColor=menu onload=InitDocument()>
  261. <TABLE cellSpacing=0 cellPadding=0 align=center border=0>
  262.   <TBODY>
  263.   <TR>
  264.     <TD>
  265.       <FIELDSET><LEGEND><lt:Label res="res.label.editor_full.table" key="table_size"/></LEGEND>
  266.       <TABLE cellSpacing=0 cellPadding=0 border=0>
  267.         <TBODY>
  268.         <TR>
  269.           <TD colSpan=9 height=5></TD></TR>
  270.         <TR>
  271.           <TD width=7></TD>
  272.           <TD><lt:Label res="res.label.editor_full.table" key="rows"/></TD>
  273.           <TD width=5></TD>
  274.           <TD><INPUT onkeypress=event.returnValue=IsDigit(); id=d_row 
  275.             maxLength=3 size=10></TD>
  276.           <TD width=40></TD>
  277.           <TD><lt:Label res="res.label.editor_full.table" key="cols"/></TD>
  278.           <TD width=5></TD>
  279.           <TD><INPUT onkeypress=event.returnValue=IsDigit(); id=d_col 
  280.             maxLength=3 size=10></TD>
  281.           <TD width=7></TD></TR>
  282.         <TR>
  283.           <TD colSpan=9 height=5></TD></TR></TBODY></TABLE></FIELDSET> </TD></TR>
  284.   <TR>
  285.     <TD height=5></TD></TR>
  286.   <TR>
  287.     <TD>
  288.       <FIELDSET><LEGEND><lt:Label res="res.label.editor_full.table" key="range"/></LEGEND>
  289.       <TABLE cellSpacing=0 cellPadding=0 border=0>
  290.         <TBODY>
  291.         <TR>
  292.           <TD colSpan=9 height=5></TD></TR>
  293.         <TR>
  294.           <TD width=7></TD>
  295.           <TD><lt:Label res="res.label.editor_full.table" key="align"/></TD>
  296.           <TD width=5></TD>
  297.           <TD><SELECT id=d_align style="WIDTH: 72px"> <OPTION value="" 
  298.               selected><lt:Label res="res.label.editor_full.table" key="default"/></OPTION> <OPTION value=left><lt:Label res="res.label.editor_full.table" key="align_left"/></OPTION> <OPTION 
  299.               value=center><lt:Label res="res.label.editor_full.table" key="align_center"/></OPTION> <OPTION value=right><lt:Label res="res.label.editor_full.table" key="align_right"/></OPTION></SELECT> 
  300.           </TD>
  301.           <TD width=40></TD>
  302.           <TD><lt:Label res="res.label.editor_full.table" key="border"/></TD>
  303.           <TD width=5></TD>
  304.           <TD><INPUT onkeypress=event.returnValue=IsDigit(); id=d_border 
  305.             size=10></TD>
  306.           <TD width=7></TD></TR>
  307.         <TR>
  308.           <TD colSpan=9 height=5></TD></TR>
  309.         <TR>
  310.           <TD width=7></TD>
  311.           <TD><lt:Label res="res.label.editor_full.table" key="cell_space"/></TD>
  312.           <TD width=5></TD>
  313.           <TD><INPUT onkeypress=event.returnValue=IsDigit(); id=d_cellspacing 
  314.             maxLength=3 size=10></TD>
  315.           <TD width=40></TD>
  316.           <TD><lt:Label res="res.label.editor_full.table" key="cell_margin"/></TD>
  317.           <TD width=5></TD>
  318.           <TD><INPUT onkeypress=event.returnValue=IsDigit(); id=d_cellpadding 
  319.             maxLength=3 size=10></TD>
  320.           <TD width=7></TD></TR>
  321.         <TR>
  322.           <TD colSpan=9 height=5></TD></TR></TBODY></TABLE></FIELDSET> </TD></TR>
  323.   <TR>
  324.     <TD height=5></TD></TR>
  325.   <TR>
  326.     <TD>
  327.       <FIELDSET><LEGEND><lt:Label res="res.label.editor_full.table" key="width"/></LEGEND>
  328.       <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
  329.         <TBODY>
  330.         <TR>
  331.           <TD colSpan=9 height=5></TD></TR>
  332.         <TR>
  333.           <TD width=7></TD>
  334.           <TD onclick=d_check.click() vAlign=center noWrap><INPUT id=d_check 
  335.             onclick=d_widthvalue.disabled=(!this.checked);d_widthunit.disabled=(!this.checked); 
  336.             type=checkbox value=1> <lt:Label res="res.label.editor_full.table" key="assign_width"/></TD>
  337.           <TD align=right width="60%"><INPUT 
  338.             onkeypress=event.returnValue=IsDigit(); maxLength=4 size=5 
  339.             name=d_widthvalue> <SELECT name=d_widthunit> <OPTION value=px 
  340.               selected><lt:Label res="res.label.editor_full.table" key="pixel"/></OPTION><OPTION value=%><lt:Label res="res.label.editor_full.table" key="percent"/></OPTION></SELECT> </TD>
  341.           <TD width=7></TD></TR>
  342.         <TR>
  343.           <TD colSpan=9 height=5></TD></TR></TBODY></TABLE></FIELDSET> </TD></TR>
  344.   <TR>
  345.     <TD height=5></TD></TR>
  346.   <TR>
  347.     <TD>
  348.       <FIELDSET><LEGEND><lt:Label res="res.label.editor_full.table" key="table_color"/></LEGEND>
  349.       <TABLE cellSpacing=0 cellPadding=0 border=0>
  350.         <TBODY>
  351.         <TR>
  352.           <TD colSpan=9 height=5></TD></TR>
  353.         <TR>
  354.           <TD width=7></TD>
  355.           <TD><lt:Label res="res.label.editor_full.table" key="border_color"/></TD>
  356.           <TD width=5></TD>
  357.           <TD><INPUT id=d_bordercolor size=7></TD>
  358.           <TD><IMG id=s_bordercolor style="CURSOR: hand" 
  359.             onclick="SelectColor('bordercolor')" src="table_files/rect.gif" 
  360.             width=18 border=0></TD>
  361.           <TD width=40></TD>
  362.           <TD><lt:Label res="res.label.editor_full.table" key="bg_color"/></TD>
  363.           <TD width=5></TD>
  364.           <TD><INPUT id=d_bgcolor size=7></TD>
  365.           <TD><IMG id=s_bgcolor style="CURSOR: hand" 
  366.             onclick="SelectColor('bgcolor')" src="table_files/rect.gif" width=18 
  367.             border=0></TD>
  368.           <TD width=7></TD></TR>
  369.         <TR>
  370.           <TD colSpan=9 height=5></TD></TR></TBODY></TABLE></FIELDSET> </TD></TR>
  371.   <TR>
  372.     <TD height=5></TD></TR>
  373.   <TR>
  374.     <TD align=right><BUTTON id=Ok type=submit><lt:Label res="res.common" key="ok"/></BUTTON>&nbsp;&nbsp;<BUTTON 
  375.       onclick=window.close();><lt:Label res="res.common" key="close"/></BUTTON> </TD></TR></TBODY></TABLE></BODY></HTML>