writeemail.jsp
上传用户:lm2018
上传日期:2015-12-12
资源大小:30449k
文件大小:9k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. <%@ page language="java" pageEncoding="GBK"%>
  2. <%@ page import="java.util.ArrayList"%>
  3. <%@ page import="java.util.List"%>
  4. <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
  5. <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
  6. <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
  7. <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
  8. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  9. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  10. <html xmlns="http://www.w3.org/1999/xhtml">
  11. <head>
  12. <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
  13. <title>无标题文档</title>
  14. <script>
  15. function selectCheck(){
  16. }
  17. //选中孩子
  18. function selectChild(o){
  19. //获得本菜单的tr
  20. var otr = o.parentElement.parentElement;
  21. //获得子菜单的tr
  22. var otrmenu = otr.nextSibling;
  23. //遍历子菜单的checkbox
  24. for(var i=0;i<otrmenu.all.length;i++) {
  25. if(otrmenu.all[i].type=="checkbox"){
  26. otrmenu.all[i].checked = o.checked;
  27. }
  28. }
  29. }
  30. //选中父类(适用二级)
  31. function selectParent(o){
  32. //t=true默认找到
  33. var t= false;
  34. //获得本菜单的tr
  35. var otr = o.parentElement.parentElement;
  36. //获得父菜单的tr
  37. var otrmenu = otr.previousSibling;
  38. //遍历子菜单的checkbox,验证是有选
  39. for(var i=0;i<otr.all.length;i++) {
  40. if(otr.all[i].type=="checkbox" && otr.all[i].checked){
  41. t = true;
  42. break;
  43. }
  44. }
  45. //设置父类的checkbox状态
  46. if(t){
  47. for(var i=0;i<otrmenu.all.length;i++) {
  48. if(otrmenu.all[i].type=="checkbox"){
  49. otrmenu.all[i].checked = "checked";
  50. selectRoot(otrmenu.all[i]);
  51. break;
  52. }
  53. }
  54. }else{
  55. for(var i=0;i<otrmenu.all.length;i++) {
  56. if(otrmenu.all[i].type=="checkbox"){
  57. otrmenu.all[i].checked = "";
  58. selectRoot(otrmenu.all[i]);
  59. break;
  60. }
  61. }
  62. }
  63. }
  64. //选中根点节(适用一级)
  65. function selectRoot(o){
  66. //t=true默认找到
  67. var t= false;
  68. //获得本菜单的tr
  69. var otr = o.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement
  70. //获得父菜单的tr
  71. var otrmenu = otr.previousSibling;
  72. //遍历子菜单的checkbox,验证是否全选
  73. for(var i=0;i<otr.all.length;i++) {
  74. if(otr.all[i].type=="checkbox" && otr.all[i].checked){
  75. t = true;
  76. break;
  77. }
  78. }
  79. //设置父类的checkbox状态
  80. if(t){
  81. for(var i=0;i<otrmenu.all.length;i++) {
  82. if(otrmenu.all[i].type=="checkbox"){
  83. otrmenu.all[i].checked = "checked";
  84. break;
  85. }
  86. }
  87. }else{
  88. for(var i=0;i<otrmenu.all.length;i++) {
  89. if(otrmenu.all[i].type=="checkbox"){
  90. otrmenu.all[i].checked = "";
  91. break;
  92. }
  93. }
  94. }
  95. }
  96. //菜单的显示与隐藏
  97. function setDisplay(o){
  98. if(o.style.display==""){
  99. o.style.display="none";
  100. }else{
  101. o.style.display="";
  102. }
  103. }
  104. </script>
  105. <script language="javascript">
  106. //增加附件
  107. var num=0;
  108. var fg=0;
  109. function addfile(){
  110. document.getElementById("aspan").innerHTML="";
  111. if(num<3){
  112.  fg=1;
  113.  var file = document.getElementById("file");
  114.  var tr = document.createElement("tr");
  115.  var td = document.createElement("td");
  116. file.appendChild(tr);
  117. tr.appendChild(td);
  118. var vput=document.createElement("input");
  119. vput.setAttribute("type","file");
  120. vput.setAttribute("name","myfile"+num);
  121. /* vput.setAttribute("name","fileb"+fg);*/
  122. var str="<input type='button' value='删除' onclick='delefile(this);'/>";
  123. td.innerHTML =str+" ";
  124. td.appendChild(vput);
  125. num = num + 1;
  126. }else
  127. if (num >= 3){
  128. document.getElementById("aspan").innerHTML="<font color="red">[最多只能添加三个附件]</font>";
  129. }
  130. }
  131. //删除附件
  132. function delefile(img){
  133. document.getElementById("aspan").innerHTML="";
  134. var tdy=document.getElementById("tdy");
  135. var tr=img.parentElement.parentElement;
  136. file.removeChild(tr);
  137. num--;
  138. }
  139. //发送验证
  140. function send(){
  141. var user = document.getElementsByName("checkeduserList");
  142. var flag = false;
  143. for(var i=0; i<user.length; i++){
  144. if(user[i].checked){
  145. flag = true;
  146. }
  147. }
  148. if(flag == false){
  149. alert("请选择发送用户");
  150. return false;
  151. }
  152. var title = document.getElementById("title");
  153. if(title.value.length<=0){
  154. alert("发送主题不能为空");
  155. title.focus();
  156. return false;
  157. }
  158. var content = document.getElementById("content");
  159. if(content.value.length<=0){
  160. alert("请填写发送的内容");
  161. return false;
  162. }
  163. /*var isfujian = document.getElementById("isfujian");
  164. if(num>0){
  165. isfujian.value="1";
  166. }else{
  167. isfujian.value="0";
  168. }*/
  169. }
  170. //存草稿
  171. function saveletter(){
  172. var title = document.getElementById("title");
  173. if(title.value.length<=0){
  174. title.value="来自${requestScope.user.username}的邮件";
  175. }
  176. var method = document.getElementById("method");
  177. method.value="saveletter";
  178. }
  179. </script>
  180. <style>
  181. <!--
  182. a{TEXT-DECORATION:none; color:#000000}
  183. body{ font-size:12px}
  184. -->
  185. </style>
  186. </head>
  187. <body>
  188. <html:form action="/email" enctype="multipart/form-data" >
  189. <html:hidden property="method" value="sendEmail" />
  190. <html:hidden property="isfujian" value="" />
  191. <html:hidden property="emailtype" value="" />
  192. <html:hidden property="isread" value="0" />
  193. <table width="100%" border="1">
  194. <tr>
  195. <td>
  196. 收件人
  197. </td>
  198. <td>
  199. <font color="#FF0000">请从右边公司列表里选择</font>
  200. </td>
  201. <td>
  202. 公司员工列表
  203. </td>
  204. </tr>
  205. <tr>
  206. <td>
  207. 主题
  208. </td>
  209. <td>
  210. <html:text property="title" name="emailForm" />
  211. <html:errors property="title" />
  212. </td>
  213. <td rowspan="5" valign="top">
  214. <table>
  215. <tr>
  216. <td>
  217. <input type="checkbox" name="m1" onclick="selectChild(this);">
  218. <span onclick="setDisplay(m1_menu);" style="cursor: hand" id="${requestScope.company.comid}"> ${requestScope.company.comName} </span>
  219. </td>
  220. </tr>
  221. <tr id="m1_menu" style="">
  222. <td>
  223. <table>
  224. <%int i = 10;%>
  225. <logic:iterate id="dept" name="company" property="deptList">
  226. <tr>
  227. <%i++;%>
  228. <td>
  229. &nbsp;&nbsp;
  230. <input type="checkbox" name="m<%=i%>" onclick="selectChild(this);selectRoot(this);">
  231. <span onclick="setDisplay(m<%=i%>_menu);" style="cursor: hand"> ${dept.dname} </span>
  232. </td>
  233. </tr>
  234. <tr id="m<%=i%>_menu">
  235. <td>
  236. <logic:iterate id="user" name="dept" property="userList">
  237. &nbsp;&nbsp;&nbsp;&nbsp;
  238. <!-- <input type="checkbox" name="userList" onclick="selectParent(this);" />-->
  239. <html:multibox property="checkeduserList" onclick="selectParent(this);"  value="${user.uname},${user.uno}">
  240. </html:multibox>
  241. <a href="#">${user.uname}</a>
  242. <br>
  243. </logic:iterate>
  244. </td>
  245. </tr>
  246. </logic:iterate>
  247. </table>
  248. </td>
  249. </tr>
  250. </table>
  251. </td>
  252. </tr>
  253. <tr>
  254. <td colspan="2">
  255. <span style="margin-right:20px" />
  256. <table width="100%" border="0" align="center" valign="midden" cellpadding="0" cellspacing="0">
  257. <tr>
  258. <td colspan="3" align="left">
  259. <!--javascript:addfile(); -->
  260. <a href="#">添加附件</a>&nbsp;<SPAN id="aspan"></SPAN>
  261. </td>
  262. </tr>
  263. <TR>
  264. <TD colspan="2">
  265. <TABLE id="uptable">
  266. <TBODY id="file">
  267. <tr>
  268. <td>
  269. <input type="file" name="file1" />
  270. </td>
  271. <td>
  272. <html:errors name="fileerror1" />
  273. </td>
  274. </tr>
  275. <tr>
  276. <td>
  277. <input type="file" name="file2" />
  278. </td>
  279. <td>
  280. <html:errors name="fileerror2" />
  281. </td>
  282. </tr>
  283. <tr>
  284. <td>
  285. <input type="file" name="file3" />
  286. </td>
  287. <td>
  288. <html:errors name="fileerror3" />
  289. </td>
  290. </tr>
  291. </TBODY>
  292. </TABLE>
  293. </TD>
  294. </TR>
  295. </table>
  296. </td>
  297. </tr>
  298. <tr>
  299. <td colspan="2">
  300. <html:hidden property="content" value="${emailForm.content}" />
  301. <IFRAME ID="eWebEditor1" src="${pageContext.request.contextPath}/editor/eWebEditor.jsp?id=content&style=standard" frameborder="0" scrolling="no" width="650" height="350">
  302. </IFRAME>
  303. </td>
  304. </tr>
  305. <tr>
  306. <td colspan="2">
  307. <input type="submit" value="发送" name="dd" onclick="content.value=eWebEditor1.getHTML(); return send();" />
  308. <input type="submit" value="存草稿" onclick="content.value=eWebEditor1.getHTML(); return saveletter();"/>
  309. <input type="button" value="返回" onclick="history.back();" />
  310. </td>
  311. </tr>
  312. </table>
  313. </html:form>
  314. </body>
  315. </html>