table.htm 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  4. <style type="text/css">
  5. body, a, table, div, span, td, th, input, select{font:9pt;font-family: "宋体", Verdana, Arial, Helvetica, sans-serif;}
  6. body {padding:5px}
  7. </style>
  8. <script language=JavaScript src="dialog.js"></script>
  9. <script language="JavaScript">
  10. var sAction = URLParams['action'] ;
  11. var sTitle = "插入";
  12. var oControl;
  13. var oSeletion;
  14. var sRangeType;
  15. var sRow = "2";
  16. var sCol = "2";
  17. var sAlign = "";
  18. var sBorder = "1";
  19. var sCellPadding = "3";
  20. var sCellSpacing = "2";
  21. var sWidth = "";
  22. var sHeight = "";
  23. var sBorderColor = "#000000";
  24. var sBgColor = "#FFFFFF";
  25. var sImage = "";
  26. var sRepeat = "";
  27. var sAttachment = "";
  28. var sBorderStyle = "";
  29. var sWidthUnit = "%";
  30. var bWidthCheck = true;
  31. var bWidthDisable = false;
  32. var sWidthValue = "100";
  33. var sHeightUnit = "%";
  34. var bHeightCheck = false;
  35. var bHeightDisable = true;
  36. var sHeightValue = "";
  37. oSelection = dialogArguments.eWebEditor.document.selection.createRange();
  38. sRangeType = dialogArguments.eWebEditor.document.selection.type;
  39. if (sAction == "modify"){
  40. if (sRangeType == "Control"){
  41. if (oSelection.item(0).tagName == "TABLE"){
  42. oControl = oSelection.item(0);
  43. }
  44. }else{
  45. oControl = getParentObject(oSelection.parentElement(), "TABLE");
  46. }
  47. if (oControl){
  48. sAction = "MODI";
  49. sTitle = "修改";
  50. sRow = oControl.rows.length;
  51. sCol = getColCount(oControl);
  52. sAlign = oControl.align;
  53. sBorder = oControl.border;
  54. sCellPadding = oControl.cellPadding;
  55. sCellSpacing = oControl.cellSpacing;
  56. sWidth = oControl.width;
  57. sHeight = oControl.height;
  58. sBorderColor = oControl.borderColor;
  59. sBgColor = oControl.bgColor;
  60. sImage = oControl.style.backgroundImage;
  61. sRepeat = oControl.style.backgroundRepeat;
  62. sAttachment = oControl.style.backgroundAttachment;
  63. sBorderStyle = oControl.style.borderStyle;
  64. sImage = sImage.substr(4, sImage.length-5);
  65. }
  66. }
  67. // 返回指定标签的父对象
  68. function getParentObject(obj, tag){
  69. while(obj!=null && obj.tagName!=tag)
  70. obj=obj.parentElement;
  71. return obj;
  72. }
  73. document.write("<title>表格属性(" + sTitle + ")</title>");
  74. // 初始值
  75. function InitDocument(){
  76. SearchSelectValue(d_align, sAlign.toLowerCase());
  77. SearchSelectValue(d_borderstyle, sBorderStyle.toLowerCase());
  78. // 修改状态时取值
  79. if (sAction == "MODI"){
  80. if (sWidth == ""){
  81. bWidthCheck = false;
  82. bWidthDisable = true;
  83. sWidthValue = "100";
  84. sWidthUnit = "%";
  85. }else{
  86. bWidthCheck = true;
  87. bWidthDisable = false;
  88. if (sWidth.substr(sWidth.length-1) == "%"){
  89. sWidthValue = sWidth.substring(0, sWidth.length-1);
  90. sWidthUnit = "%";
  91. }else{
  92. sWidthUnit = "";
  93. sWidthValue = parseInt(sWidth);
  94. if (isNaN(sWidthValue)) sWidthValue = "";
  95. }
  96. }
  97. if (sHeight == ""){
  98. bHeightCheck = false;
  99. bHeightDisable = true;
  100. sHeightValue = "100";
  101. sHeightUnit = "%";
  102. }else{
  103. bHeightCheck = true;
  104. bHeightDisable = false;
  105. if (sHeight.substr(sHeight.length-1) == "%"){
  106. sHeightValue = sHeight.substring(0, sHeight.length-1);
  107. sHeightUnit = "%";
  108. }else{
  109. sHeightUnit = "";
  110. sHeightValue = parseInt(sHeight);
  111. if (isNaN(sHeightValue)) sHeightValue = "";
  112. }
  113. }
  114. }
  115. switch(sWidthUnit){
  116. case "%":
  117. d_widthunit.selectedIndex = 1;
  118. break;
  119. default:
  120. sWidthUnit = "";
  121. d_widthunit.selectedIndex = 0;
  122. break;
  123. }
  124. switch(sHeightUnit){
  125. case "%":
  126. d_heightunit.selectedIndex = 1;
  127. break;
  128. default:
  129. sHeightUnit = "";
  130. d_heightunit.selectedIndex = 0;
  131. break;
  132. }
  133. d_row.value = sRow;
  134. d_col.value = sCol;
  135. d_border.value = sBorder;
  136. d_cellspacing.value = sCellSpacing;
  137. d_cellpadding.value = sCellPadding;
  138. d_widthvalue.value = sWidthValue;
  139. d_widthvalue.disabled = bWidthDisable;
  140. d_widthunit.disabled = bWidthDisable;
  141. d_heightvalue.value = sHeightValue;
  142. d_heightvalue.disabled = bHeightDisable;
  143. d_heightunit.disabled = bHeightDisable;
  144. d_bordercolor.value = sBorderColor;
  145. s_bordercolor.style.backgroundColor = sBorderColor;
  146. d_bgcolor.value = sBgColor;
  147. s_bgcolor.style.backgroundColor = sBgColor;
  148. d_widthcheck.checked = bWidthCheck;
  149. d_heightcheck.checked = bHeightCheck;
  150. d_image.value = sImage;
  151. d_repeat.value = sRepeat;
  152. d_attachment.value = sAttachment;
  153. }
  154. // 判断值是否大于0
  155. function MoreThanOne(obj, sErr){
  156. var b=false;
  157. if (obj.value!=""){
  158. obj.value=parseFloat(obj.value);
  159. if (obj.value!="0"){
  160. b=true;
  161. }
  162. }
  163. if (b==false){
  164. BaseAlert(obj,sErr);
  165. return false;
  166. }
  167. return true;
  168. }
  169. // 得到表格列数
  170. function getColCount(oTable) {
  171. var intCount = 0;
  172. if (oTable != null) {
  173. for(var i = 0; i < oTable.rows.length; i++){
  174. if (oTable.rows[i].cells.length > intCount) intCount = oTable.rows[i].cells.length;
  175. }
  176. }
  177. return intCount;
  178. }
  179. // 增加行
  180. function InsertRows( oTable ) {
  181. if ( oTable ) {
  182. var elRow=oTable.insertRow();
  183. for(var i=0; i<oTable.rows[0].cells.length; i++){
  184. var elCell = elRow.insertCell();
  185. elCell.innerHTML = "&nbsp;";
  186. }
  187. }
  188. }
  189. // 增加列
  190. function InsertCols( oTable ) {
  191. if ( oTable ) {
  192. for(var i=0; i<oTable.rows.length; i++){
  193. var elCell = oTable.rows[i].insertCell();
  194. elCell.innerHTML = "&nbsp;"
  195. }
  196. }
  197. }
  198. // 删除行
  199. function DeleteRows( oTable ) {
  200. if ( oTable ) {
  201. oTable.deleteRow();
  202. }
  203. }
  204. // 删除列
  205. function DeleteCols( oTable ) {
  206. if ( oTable ) {
  207. for(var i=0;i<oTable.rows.length;i++){
  208. oTable.rows[i].deleteCell();
  209. }
  210. }
  211. }
  212. </script>
  213. <SCRIPT event=onclick for=Ok language=JavaScript>
  214. // 边框颜色的有效性
  215. sBorderColor = d_bordercolor.value;
  216. if (!IsColor(sBorderColor)){
  217. BaseAlert(d_bordercolor,'无效的边框颜色值!');
  218. return;
  219. }
  220. // 背景颜色的有效性
  221. sBgColor = d_bgcolor.value;
  222. if (!IsColor(sBgColor)){
  223. BaseAlert(d_bgcolor,'无效的背景颜色值!');
  224. return;
  225. }
  226. // 行数的有效性
  227. if (!MoreThanOne(d_row,'无效的行数,至少要1行!')) return;
  228. // 列数的有效性
  229. if (!MoreThanOne(d_col,'无效的列数,至少要1列!')) return;
  230. // 边线粗细的有效性
  231. if (d_border.value == "") d_border.value = "0";
  232. if (d_cellpadding.value == "") d_cellpadding.value = "0";
  233. if (d_cellspacing.value == "") d_cellspacing.value = "0";
  234. // 去前导0
  235. d_border.value = parseFloat(d_border.value);
  236. d_cellpadding.value = parseFloat(d_cellpadding.value);
  237. d_cellspacing.value = parseFloat(d_cellspacing.value);
  238. // 宽度有效值性
  239. var sWidth = "";
  240. if (d_widthcheck.checked){
  241. if (!MoreThanOne(d_widthvalue,'无效的表格宽度!')) return;
  242. sWidth = d_widthvalue.value + d_widthunit.value;
  243. }
  244. // 高度有效值性
  245. var sHeight = "";
  246. if (d_heightcheck.checked){
  247. if (!MoreThanOne(d_heightvalue,'无效的表格高度!')) return;
  248. sHeight = d_heightvalue.value + d_heightunit.value;
  249. }
  250. sRow = d_row.value;
  251. sCol = d_col.value;
  252. sAlign = d_align.options[d_align.selectedIndex].value;
  253. sBorder = d_border.value;
  254. sCellPadding = d_cellpadding.value;
  255. sCellSpacing = d_cellspacing.value;
  256. sImage = d_image.value;
  257. sRepeat = d_repeat.value;
  258. sAttachment = d_attachment.value;
  259. sBorderStyle = d_borderstyle.options[d_borderstyle.selectedIndex].value;
  260. if (sImage!="") {
  261. sImage = "url(" + sImage + ")";
  262. }
  263. if (sAction == "MODI") {
  264. // 修改行数
  265. var xCount = sRow - oControl.rows.length;
  266. if (xCount > 0)
  267. for (var i = 0; i < xCount; i++) InsertRows(oControl);
  268. else
  269. for (var i = 0; i > xCount; i--) DeleteRows(oControl);
  270. // 修改列数
  271. var xCount = sCol - getColCount(oControl);
  272. if (xCount > 0)
  273. for (var i = 0; i < xCount; i++) InsertCols(oControl);
  274. else
  275. for (var i = 0; i > xCount; i--) DeleteCols(oControl);
  276. try {
  277. oControl.width = sWidth;
  278. }
  279. catch(e) {
  280. //alert("对不起,请您输入有效的宽度值!\n(如:90% 200 300px 10cm)");
  281. }
  282. try {
  283. oControl.height = sHeight;
  284. }
  285. catch(e) {
  286. //alert("对不起,请您输入有效的高度值!\n(如:90% 200 300px 10cm)");
  287. }
  288. oControl.align = sAlign;
  289. oControl.border = sBorder;
  290. oControl.cellSpacing = sCellSpacing;
  291. oControl.cellPadding = sCellPadding;
  292. oControl.borderColor = sBorderColor;
  293. oControl.bgColor = sBgColor;
  294. oControl.style.backgroundImage = sImage;
  295. oControl.style.backgroundRepeat = sRepeat;
  296. oControl.style.backgroundAttachment = sAttachment;
  297. oControl.style.borderStyle = sBorderStyle;
  298. }else{
  299. var sTable = "<table align='"+sAlign+"' border='"+sBorder+"' cellpadding='"+sCellPadding+"' cellspacing='"+sCellSpacing+"' width='"+sWidth+"' heihgt='"+sHeight+"' bordercolor='"+sBorderColor+"' bgcolor='"+sBgColor+"' style='background-image:"+sImage+";background-repeat:"+sRepeat+";background-attachment:"+sAttachment+";border-style:"+sBorderStyle+";'>";
  300. for (var i=1;i<=sRow;i++){
  301. sTable = sTable + "<tr>";
  302. for (var j=1;j<=sCol;j++){
  303. sTable = sTable + "<td>&nbsp;</td>";
  304. }
  305. sTable = sTable + "</tr>";
  306. }
  307. sTable = sTable + "</table>";
  308. dialogArguments.insertHTML(sTable);
  309. }
  310. window.returnValue = null;
  311. window.close();
  312. </SCRIPT>
  313. </head>
  314. <body bgcolor=menu onload="InitDocument()">
  315. <table border=0 cellpadding=0 cellspacing=0 align=center>
  316. <tr>
  317. <td>
  318. <fieldset>
  319. <legend>表格大小</legend>
  320. <table border=0 cellpadding=0 cellspacing=0>
  321. <tr><td colspan=9 height=5></td></tr>
  322. <tr>
  323. <td width=7></td>
  324. <td>表格行数:</td>
  325. <td width=5></td>
  326. <td><input type=text id=d_row size=10 value="" ONKEYPRESS="event.returnValue=IsDigit();" maxlength=3></td>
  327. <td width=40></td>
  328. <td>表格列数:</td>
  329. <td width=5></td>
  330. <td><input type=text id=d_col size=10 value="" ONKEYPRESS="event.returnValue=IsDigit();" maxlength=3></td>
  331. <td width=7></td>
  332. </tr>
  333. <tr><td colspan=9 height=5></td></tr>
  334. </table>
  335. </fieldset>
  336. </td>
  337. </tr>
  338. <tr><td height=5></td></tr>
  339. <tr>
  340. <td>
  341. <fieldset>
  342. <legend>表格布局</legend>
  343. <table border=0 cellpadding=0 cellspacing=0>
  344. <tr><td colspan=9 height=5></td></tr>
  345. <tr>
  346. <td width=7></td>
  347. <td>对齐方式:</td>
  348. <td width=5></td>
  349. <td>
  350. <select id="d_align" style="width:72px">
  351. <option value=''>默认</option>
  352. <option value='left'>左对齐</option>
  353. <option value='center'>居中</option>
  354. <option value='right'>右对齐</option>
  355. </select>
  356. </td>
  357. <td width=40></td>
  358. <td>边框粗细:</td>
  359. <td width=5></td>
  360. <td><input type=text id=d_border size=10 value="" ONKEYPRESS="event.returnValue=IsDigit();"></td>
  361. <td width=7></td>
  362. </tr>
  363. <tr><td colspan=9 height=5></td></tr>
  364. <tr>
  365. <td width=7></td>
  366. <td>单元间距:</td>
  367. <td width=5></td>
  368. <td><input type=text id=d_cellspacing size=10 value="" ONKEYPRESS="event.returnValue=IsDigit();" maxlength=3></td>
  369. <td width=40></td>
  370. <td>单元边距:</td>
  371. <td width=5></td>
  372. <td><input type=text id=d_cellpadding size=10 value="" ONKEYPRESS="event.returnValue=IsDigit();" maxlength=3></td>
  373. <td width=7></td>
  374. </tr>
  375. <tr><td colspan=9 height=5></td></tr>
  376. </table>
  377. </fieldset>
  378. </td>
  379. </tr>
  380. <tr><td height=5></td></tr>
  381. <tr>
  382. <td>
  383. <fieldset>
  384. <legend>表格尺寸</legend>
  385. <table border=0 cellpadding=0 cellspacing=0 width='100%'>
  386. <tr><td colspan=9 height=5></td></tr>
  387. <tr>
  388. <td width=7></td>
  389. <td onclick="d_widthcheck.click()" noWrap valign=middle><input id="d_widthcheck" type="checkbox" onclick="d_widthvalue.disabled=(!this.checked);d_widthunit.disabled=(!this.checked);" value="1"> 指定表格的宽度</td>
  390. <td align=right width="60%">
  391. <input name="d_widthvalue" type="text" value="" size="5" ONKEYPRESS="event.returnValue=IsDigit();" maxlength="4">
  392. <select name="d_widthunit">
  393. <option value='px'>像素</option><option value='%'>百分比</option>
  394. </select>
  395. </td>
  396. <td width=7></td>
  397. </tr>
  398. <tr><td colspan=9 height=5></td></tr>
  399. <tr>
  400. <td height=7></td>
  401. <td onclick="d_heightcheck.click()" noWrap valign=middle><input id="d_heightcheck" type="checkbox" onclick="d_heightvalue.disabled=(!this.checked);d_heightunit.disabled=(!this.checked);" value="1"> 指定表格的高度</td>
  402. <td align=right height="60%">
  403. <input name="d_heightvalue" type="text" value="" size="5" ONKEYPRESS="event.returnValue=IsDigit();" maxlength="4">
  404. <select name="d_heightunit">
  405. <option value='px'>像素</option><option value='%'>百分比</option>
  406. </select>
  407. </td>
  408. <td width=7></td>
  409. </tr>
  410. <tr><td colspan=9 height=5></td></tr>
  411. </table>
  412. </fieldset>
  413. </td>
  414. </tr>
  415. <tr><td height=5></td></tr>
  416. <tr>
  417. <td>
  418. <fieldset>
  419. <legend>表格样式</legend>
  420. <table border=0 cellpadding=0 cellspacing=0>
  421. <tr><td colspan=9 height=5></td></tr>
  422. <tr>
  423. <td width=7></td>
  424. <td>边框颜色:</td>
  425. <td width=5></td>
  426. <td><input type=text id=d_bordercolor size=7 value=""></td>
  427. <td><img border=0 src="../sysimage/rect.gif" width=18 style="cursor:hand" id=s_bordercolor onclick="SelectColor('bordercolor')"></td>
  428. <td width=40></td>
  429. <td>边框样式:</td>
  430. <td width=5></td>
  431. <td colspan=2>
  432. <select id=d_borderstyle size=1 style="width:72px">
  433. <option value="">默认</option>
  434. <option value="solid">实线</option>
  435. <option value="dotted">虚线</option>
  436. <option value="dashed">破折号</option>
  437. <option value="double">双线</option>
  438. <option value="groove">凹线</option>
  439. <option value="ridge">凸线</option>
  440. <option value="inset">嵌入</option>
  441. <option value="outset">开端</option>
  442. </select>
  443. </td>
  444. <td width=7></td>
  445. </tr>
  446. <tr><td colspan=9 height=5></td></tr>
  447. <tr>
  448. <td width=7></td>
  449. <td>背景颜色:</td>
  450. <td width=5></td>
  451. <td><input type=text id=d_bgcolor size=7 value=""></td>
  452. <td><img border=0 src="../sysimage/rect.gif" width=18 style="cursor:hand" id=s_bgcolor onclick="SelectColor('bgcolor')"></td>
  453. <td width=40></td>
  454. <td>背景图片:</td>
  455. <td width=5></td>
  456. <td><input type=text id=d_image size=7 value=""><input type=hidden id=d_repeat><input type=hidden id=d_attachment></td>
  457. <td><img border=0 src="../sysimage/rectimg.gif" width=18 style="cursor:hand" id=s_bgimage onclick="SelectImage()" alt="设置背景图"></td>
  458. <td width=7></td>
  459. </tr>
  460. <tr><td colspan=9 height=5></td></tr>
  461. </table>
  462. </fieldset>
  463. </td>
  464. </tr>
  465. <tr><td height=5></td></tr>
  466. <tr><td align=right><input type=submit value=' 确定 ' id=Ok>&nbsp;&nbsp;<input type=button value=' 取消 ' onclick="window.close();"></td></tr>
  467. </table>
  468. </body>
  469. </html>