【SSH项目实战】国税协同平台-32.我要投诉功能2

我们接下来做投诉信息的保存工作我们先来想一下,我们的整个投诉的流程是:1、保存投诉信息2、提示用户投诉成功3、刷新父窗口4、关闭当前窗口我们来画一下时序图(对象与对象之间的消息在时间顺序上的交互):

我们现在要做的是第9步之后的步骤我们回顾一下我们的投诉信息填写界面:<%@ page contentType="text/html;charset=UTF-8" language="java" %><%pageContext.setAttribute("basePath", request.getContextPath()+"/") ;%><html><head><%@include file="/common/header.jsp"%><title>我要投诉</title><script type="text/javascript" charset="utf-8" src="${basePath }js/ueditor/ueditor.config.js"></script><script type="text/javascript" charset="utf-8" src="${basePath }js/ueditor/ueditor.all.min.js"> </script><script type="text/javascript" charset="utf-8" src="${basePath }js/ueditor/lang/zh-cn/zh-cn.js"></script><script>window.UEDITOR_HOME_URL = "${basePath }js/ueditor/";var ue = UE.getEditor('editor');//根据部门查询该部门下的用户列表function doSelectDept(){//1、获取部门var dept=$("#toCompDept option:selected").val();if(dept!=""){//2.根据部门查询列表$.ajax({url:"${basePath}sys/home_getUserJson2.action",data:{"dept":dept},type:"post",dataType:"json",//返回数据类型success:function(data){//3.将列表设置到被投诉人下拉框中if(data != null&&data != ""&& data!= undefined){if("success"==data.msg){var toCompName = $("#toCompName");toCompName.empty();//使用each标签将userList的数据遍历出来$.each(data.userList,function(index,user){toCompName.append("<option value='" + user.name + "'>"+ user.name + "</option>");});}else{alert("获取被投诉人列表失败!");}}else{alert("获取被投诉人列表失败!");}},error:function(){alert("获取被投诉人列表失败!");}});}else{//情空被投诉人列表下拉框$("#toCompName").empty();}}</script></head><body><form id="form" name="form" action="" method="post" enctype="multipart/form-data"><div class="vp_d_1"><div style="width:1%;float:left;">    </div><div class="vp_d_1_1"><div class="content_info"><div class="c_crumbs"><div><b></b><strong>工作主页</strong> - 我要投诉</div></div><div class="tableH2">我要投诉</div><table id="baseInfo" width="100%" align="center" class="list" border="0" cellpadding="0" cellspacing="0" ><tr><td class="tdBg" width="250px">投诉标题:</td><td><s:textfield name="comp.compTitle"/></td></tr><tr><td class="tdBg">被投诉人部门:</td><td><s:select id="toCompDept" name="comp.toCompDept" list="#{'':'请选择','部门A':'部门A','部门B':'部门B' }" onchange="doSelectDept()"/></td></tr><tr><td class="tdBg">被投诉人姓名:</td><td><select id="toCompName" name="comp.toCompName"></select></td></tr><tr><td class="tdBg">投诉内容:</td><td><s:textarea id="editor" name="comp.compContent" cssStyle="width:90%;height:160px;" /></td></tr><tr><td class="tdBg">是否匿名投诉:</td><td><s:radio name="comp.isNm" list="#{'false':'非匿名投诉','true':'匿名投诉' }" value="true"/></td></tr></table><s:hidden name="comp.compCompany" value="%{#session.SYS_USER.dept}"/><s:hidden name="comp.compName" value="%{#session.SYS_USER.name}"/><s:hidden name="comp.compMoblie" value="%{#session.SYS_USER.moblie}"/><div class="tc mt20"><input type="button" class="btnB2" value="保存" />    <input type="button" onclick="javascript:window.close()" class="btnB2" value="关闭" /></div></div></div><div style="width:1%;float:left;">    </div></div></form></body></html>我们给“保存”announce添加一个onclick事件:<input type="button" class="btnB2" value="保存" onclick="doSubmit()"/>然后在<script></script>中完成onclick的doSubmit()方法://提交表单function doSubmit(){//1.提交表单并保存$.ajax({url:"${basePath}sys/home_complainAdd.action",data:$("#form").serialize(),type:"post",async:false,success:function (msg){if("success" == msg){//2.提示用户投诉成功alert("投诉成功!");//3.刷新父窗口window.opener.parent.location.reload(true);//4.关闭当前窗口window.close();}else{alert("投诉失败!");}},error:function(){alert("投诉失败!");}});}由于我们是使用ajax保存我们的而投诉信息的,我们需要从页面上获取我们的标题属性内容、部门属性内容、投诉人属性内容、文本属性等,获取比较麻烦,我们使用$("#form").serialize()来获取整个页面的所有标签值。(解释一下$("#form").serialize():serialize() 方法通过序列化表单值,创建 URL 编码文本字符串。可以选择一个或多个表单元素(比如 input 及/或 文本框),或者 form 元素本身。序列化的值可在生成 AJAX 请求时用于 URL 查询字符串中。绊脚石乃是进身之阶。

【SSH项目实战】国税协同平台-32.我要投诉功能2

相关文章:

你感兴趣的文章:

标签云: