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

Jsp/Servlet

开发平台:

Java

  1. <% String rootpath = request.getContextPath(); %>
  2. function findObj(theObj, theDoc)
  3. {
  4.   var p, i, foundObj;
  5.   
  6.   if(!theDoc) theDoc = document;
  7.   if( (p = theObj.indexOf("?")) > 0 && parent.frames.length)
  8.   {
  9.     theDoc = parent.frames[theObj.substring(p+1)].document;
  10.     theObj = theObj.substring(0,p);
  11.   }
  12.   if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj];
  13.   for (i=0; !foundObj && i < theDoc.forms.length; i++) 
  14.     foundObj = theDoc.forms[i][theObj];
  15.   for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++) 
  16.     foundObj = findObj(theObj,theDoc.layers[i].document);
  17.   if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj);
  18.   
  19.   return foundObj;
  20. }
  21. function getradio(radionname) {
  22. var radioboxs = document.all.item(radionname);
  23. if (radioboxs!=null)
  24. {
  25. for (i=0; i<radioboxs.length; i++) {
  26. if (radioboxs[i].type=="radio" && radioboxs[i].checked)
  27. return radioboxs[i].value;
  28. }
  29. }
  30. return radioboxs.value
  31. }
  32. return "";
  33. }
  34. function getcheckbox(checkboxname){
  35. var checkboxboxs = document.all.item(checkboxname);
  36. var CheckboxValue = '';
  37. if (checkboxboxs!=null)
  38. {
  39. // 如果只有一个元素
  40. if (checkboxboxs.length==null) {
  41. if (checkboxboxs.checked) {
  42. return checkboxboxs.value;
  43. }
  44. }
  45. for (i=0; i<checkboxboxs.length; i++)
  46. {
  47. if (checkboxboxs[i].type=="checkbox" && checkboxboxs[i].checked)
  48. {
  49. if (CheckboxValue==''){
  50. CheckboxValue += checkboxboxs[i].value;
  51. }
  52. else{
  53. CheckboxValue += ","+ checkboxboxs[i].value;
  54. }
  55. }
  56. }
  57. //return checkboxboxs.value
  58. }
  59. return CheckboxValue;
  60. }
  61. function getCtlValue(ctlObj, ctlType) {
  62. try {
  63. var ctlName = ctlObj.name;
  64. var value = "";
  65. if (ctlType=="radio")
  66. value = getradio(ctlName);
  67. else if (ctlType=="checkbox")
  68. value = getcheckbox(ctlName);
  69. else
  70. value = ctlObj.value;
  71. return value;
  72. }
  73. catch (e) {
  74. }
  75. }
  76. function setCtlValue(ctlName, ctlType, ctlValue) {
  77. try {
  78. var obj = findObj(ctlName);
  79. if (ctlType=="checkbox") {
  80. if (ctlValue=="1")
  81. obj.checked = true;
  82. else
  83. obj.checked = false;
  84. }
  85. else
  86. obj.value = ctlValue;
  87. }
  88. catch (e) {
  89. }
  90. }
  91. // 禁止控件的同时,在其后插入hidden控件,以使被禁止的控件的值能够上传
  92. function DisableCtl(name, ctlType, ctlValue, ctlValueRaw) {
  93.    for(var i=0;i<flowForm.elements.length;i++) {
  94. var obj = flowForm.elements[i];
  95. // alert(obj.type);
  96. if (obj.name==name) {
  97. // var value = getCtlValue(obj, ctlType);
  98. // obj.insertAdjacentHTML("AfterEnd", "<input type=hidden name='" + name + "' value='" + obj.value + "'>");
  99. // obj.disabled = true;
  100. if (ctlType=="DATE" || ctlType=="DATE_TIME") {
  101. try {
  102. btnImgObj = findObj(name + "_btnImg");
  103. btnImgObj.outerHTML = "";
  104. }
  105. catch (e) {}
  106. obj.insertAdjacentHTML("AfterEnd", "<input type=hidden name='" + name + "' value='" + ctlValue + "'>");
  107. obj.outerHTML = ctlValue + "&nbsp;";
  108. }
  109. else if (ctlType=="checkbox") {
  110. var v = obj.checked;
  111. if (v) {
  112. obj.insertAdjacentHTML("AfterEnd", "<input type=hidden name='" + name + "' value='1'>");
  113.   obj.outerHTML = "(是)";
  114. }
  115. else {
  116. obj.insertAdjacentHTML("AfterEnd", "<input type=hidden name='" + name + "' value='0'>");
  117. obj.outerHTML = "(否)";
  118. }
  119. }
  120. else {
  121. obj.insertAdjacentHTML("AfterEnd", "<textarea style='display:none' name='" + name + "'>" + ctlValueRaw + "</textarea>");
  122. obj.outerHTML = ctlValue;
  123. }
  124. }
  125.    }
  126. }
  127. // 用控件的值来替代控件,用于把表单以报表方式显示时
  128. function ReplaceCtlWithValue(name, ctlType, ctlValue) {
  129.    try {
  130.    for(var i=0;i<flowForm.elements.length;i++) {
  131. var obj = flowForm.elements[i];
  132. if (obj.name==name) {
  133. if (ctlType=="checkbox") {
  134. }
  135. else {
  136. // 去除日历控件的图片
  137. if (ctlType=="DATE" || ctlType=="DATE_TIME") {
  138. if (ctlType=="DATE_TIME") {
  139. try {
  140. btnImgObj = findObj(name + "_time_btnImg");
  141. btnImgObj.outerHTML = "";
  142. }
  143. catch (e) {}
  144. }
  145. try {
  146. btnImgObj = findObj(name + "_btnImg");
  147. btnImgObj.outerHTML = "";
  148. }
  149. catch (e) {}
  150. }
  151. if (ctlType=="DATE_TIME") {
  152. // 去除时间中的时分秒域
  153. var timeObj = findObj(name + "_time");
  154. timeObj.outerHTML = "";
  155. }
  156. obj.outerHTML = ctlValue;
  157. }
  158. }
  159.    }
  160.    }
  161.    catch (e) {}
  162. }
  163. // 清除其它辅助图片按钮等
  164. function ClearAccessory() {
  165. while (true) {
  166. var isFinded = false;
  167. var len = document.all.tags('IMG').length;
  168. for(var i=0; i<len; i++) { 
  169. try {
  170. var imgObj = document.all.tags('IMG')[i];
  171. // alert(imgObj.src);
  172. if (imgObj.src.indexOf("gif")!=-1 && imgObj.src.indexOf("file_flow")) {
  173. // imgObj.outerHTML = ""; // 会清除所有图片,当流程中表单存档时就会出现问题,目录树的图片也会被清除,另外在表单中特意上传的图片也会被清除
  174. // isFinded = true;
  175. }
  176. if (imgObj.src.indexOf("calendar.gif")!=-1) {
  177. imgObj.outerHTML = "";
  178. isFinded = true;
  179. }
  180. }
  181. catch (e) {}
  182. }
  183. // 清除button
  184. len = document.all.tags('input').length;
  185. for(i=0; i<len; i++) { 
  186. try {
  187. var btnObj = document.all.tags('input')[i];
  188. if (btnObj.type=="hidden" || btnObj.type=="checkbox")
  189. continue;
  190. try {
  191. if (btnObj.reserve=="true")
  192. continue;
  193. }
  194. catch (e) {
  195. }
  196. btnObj.outerHTML = "";
  197. isFinded = true;
  198. }
  199. catch (e) {}
  200. }
  201. if (!isFinded)
  202. break;
  203. }
  204. }
  205. var GetDate=""; 
  206. function SelectDate(ObjName,FormatDate){
  207. var PostAtt = new Array;
  208. PostAtt[0]= FormatDate;
  209. PostAtt[1]= findObj(ObjName);
  210. GetDate = showModalDialog("<%=rootpath%>/util/calendar/calendar.htm", PostAtt ,"dialogWidth:286px;dialogHeight:195px;status:no;help:no;");
  211. }
  212. function SetDate()
  213. findObj(ObjName).value = GetDate; 
  214. }
  215. function SelectDateTime(objName) {
  216. var dt = showModalDialog("<%=rootpath%>/util/calendar/time.htm", "" ,"dialogWidth:266px;dialogHeight:125px;status:no;help:no;");
  217. if (dt!=null)
  218. findObj(objName + "_time").value = dt;
  219. }