码迷,mamicode.com
首页 > 其他好文 > 详细

dwz使用中的几点问题

时间:2015-03-21 17:15:20      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:

一、 rel补充 

navTab 

1. navTab.reload(forwardUrl, {}, navTabId); 重新载入指定的navTab 

2. navTab.reloadFlag(navTabId); 把指定navTab页面标记为需要“重新载入”。注意navTabId不能是当前navTab页面的 

3. navTabPageBreak(args); 

重新载入当前navTab页面 4. navTabAjaxDone(json); 

DWZ框架中预定义的表单提交回调函数. 

function navTabAjaxDone(json){ 

      DWZ.ajaxDone(json); 

 if (json.statusCode == 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.callbackType) { 

                  navTab.reload(json.forwardUrl);             }       } } dialog 

1.$.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(json); 

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() 取回的元素可能与由浏览器直接取回的文档不完全相同,故需酌情使用。参考资料:http://www.w3school.com.cn/jquery/ajax_load.asp 

2. $aTag.click(); 

通过找到当前页面对应的二级标签的链接,触发click事件重新加载子页面,不推荐。例: 

//  function refreshTable(url){ 

//   $this = $("#qualPilotStayListTr").parent() 

.parent("div[class=tabsContent]") 

.parent("div[class=tabs]").find("a[id=index0]"); 

//   $this.attr("href",url); //   $this.click(); //  } 

3. $form.submit(),更改form中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不支持enctype="multipart/form-data" 所以用隐藏iframe来处

理无刷新表单提交.  

<form method="post" action="url" class="pageForm 

required-validate" enctype="multipart/form-data" onsubmit="return iframeCallback(this);"> 或 

<form method="post" action="url" class="pageForm 

required-validate" enctype="multipart/form-data" onsubmit="return iframeCallback(this, [navTabAjaxDone/dialogAjaxDone]);"> 回调函数可自定义。 服务器端响应: 










隐藏iframe来处理无刷新表单提交时,服务器端需要返回以下js代码: <script type="text/javascript"> 

var statusCode="200"; var message="操作成功"; var navTabId=""; var forwardUrl="";  

var callbackType="closeCurrent"; var response = { 

statusCode:statusCode, message:message, navTabId:navTabId, 

forwardUrl:forwardUrl, callbackType:callbackType }; 

if(window.parent.donecallback) 

window.parent.donecallback(response); 

</script> 

在Action类中的处理: 配置一条result,如下: 

@Results({   //?? 

 @Result(name="updateSuccess", location = "/standard/ajaxUpdateDone.jsp"),   

//?? }) 

对应的方法中返回result对应的name值return"updateSuccess"; 

四、 页面高度自适应,LayoutH 

例1:页面局部刷新后回调使用,解决页面布局错乱的问题。 

$topDiv.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;  

 } 

}

原文:http://wenku.baidu.com/link?url=X2mCH2DQ1AhmKN5f_wEAx7DhSP-6rq5YcXcq61U6iR-jYl5UV1vmlQ0SCnYuJrUaqCaFWqz881uC5Jgau1lu75TDF-DYAn8Y7CagzyVJDW_

dwz使用中的几点问题

标签:

原文地址:http://my.oschina.net/u/232595/blog/389758

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!