《【2017年整理】dwz使用中的几点问题》由会员分享,可在线阅读,更多相关《【2017年整理】dwz使用中的几点问题(4页珍藏版)》请在金锄头文库上搜索。
1、一、 rel 补充navTab1. navTab.reload(forwardUrl, , navTabId);重新载入指定的 navTab2. navTab.reloadFlag(navTabId); 把指定 navTab 页面标记为需要“重新载入” 。注意 navTabId 不能是当前navTab 页面的3. navTabPageBreak(args);重新载入当前 navTab 页面4. navTabAjaxDone(json);DWZ 框架中预定义的表单提交回调函数function navTabAjaxDone(json)DWZ.ajaxDone(json);if (json.stat
2、usCode = DWZ.statusCode.ok)if (json.navTabId) /把指定 navTab 页面标记为需要“重新载入” 。注意 navTabId 不能是当前 navTab 页面的navTab.reloadFlag(json.navTabId); else /重新载入当前 navTab 页面navTabPageBreak();if (closeCurrent = json.callbackType) setTimeout(function()navTab.closeCurrentTab();, 100); else if (forward = json.callbackT
3、ype) navTab.reload(json.forwardUrl);dialog1. $.pdialog.reload(url,data,dlid);2. dialogAjaxDone(json);/* dialog 上的表单提交回调函数* 服务器转回 navTabId,可以重新载入指定的navTab.statusCode=DWZ.statusCode.ok 表示操作成功 , 自动关闭当前dialog* form 提交后返回 json 数据结构 ,json 格式和 navTabAjaxDone 一致*/function dialogAjaxDone(json)DWZ.ajaxDone(js
4、on);if (json.statusCode = DWZ.statusCode.ok)if (json.navTabId)navTab.reload(json.forwardUrl, , json.navTabId);$.pdialog.closeCurrent();二、 二级标签刷新的几种方式1. $div. load(url,data,function(response,status,xhr);load() 方法通过 AJAX 请求从服务器加载数据,并把返回的数据放置到指定的元素中。如果提供的数据是对象,则使用 POST 方法;否则使用 GET 方法。由 .load() 取回的元素可能与
5、由浏览器直接取回的文档不完全相同,故需酌情使用。参考资料:http:/ $aTag.click();通过找到当前页面对应的二级标签的链接,触发 click 事件重新加载子页面,不推荐。例:/ function refreshTable(url)/ $this = $(#qualPilotStayListTr).parent().parent(divclass=tabsContent).parent(divclass=tabs).find(aid=index0);/ $this.attr(href,url);/ $this.click();/ 3. $form.submit(),更改 form
6、中 action 属性值、添加 url 隐藏域一种迂回的刷新方式,采用此方法的原因是为了避免太多的改动,尤其是对于一些带有分页功能的页面。由于不是很推荐使用,所以本文就不细述了。4. $div.loadUrl(url,data,callback);DWZ 1.3 版中已经具有局部刷新功能,推荐使用。例:$topDiv.parent().loadUrl($(form).attr(action), $(form).serializeArray(), function()$topDiv.parent().find(layoutH).layoutH(););三、 上传附件回调刷新因为Ajax不支持 e
7、nctype=multipart/form-data 所以用 隐藏iframe来处理无刷新表单提交. 或回调函数可自定义。服务器端响应:隐藏iframe来处理无刷新表单提交时, 服务器端需要返回以下js代码:var statusCode=200;var message=操作成功;var navTabId=;var forwardUrl=; var callbackType=closeCurrent;var response = statusCode:statusCode,message:message,navTabId:navTabId,forwardUrl:forwardUrl,callba
8、ckType:callbackType;if(window.parent.donecallback) window.parent.donecallback(response);在 Action 类中的处理:配置一条 result,如下:Results( / Result(name=updateSuccess, location = /standard/ajaxUpdateDone.jsp), / )对应的方法中返回 result 对应的 name 值 return updateSuccess;四、 页面高度自适应,LayoutH例 1:页面局部刷新后回调使用,解决页面布局错乱的问题。$topD
9、iv.parent().loadUrl($(form).attr(action), $(form).serializeArray(), function()$topDiv.parent().find(layoutH).layoutH(););例 2:页面 div 隐藏后高度自适应。重新设置 div 或者 table 的 layoutH 属性后,再次调用方法 layoutH(),页面就可以按照新设的 layoutH 来计算其要显示的高度。function showOrHide()$topDIV.find(.renyuanxinxiyincang).toggle();if(flag)/隐藏$topDIV.find(#upanddown).attr(src,xxx.jpg);$topDIV.find(.pageContent).attr(layoutH,35);$topDIV.parent().find(layoutH).layoutH();flag = false;else/显示$topDIV.find(#upanddown).attr(src,xxx_03.jpg);$topDIV.find(.pageContent).attr(layoutH,125);$topDIV.parent().find(layoutH).layoutH();flag = true;