dwz使用中的几点问题

一、 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" οnsubmit="return iframeCallback(this);"> 或 

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

required-validate" enctype="multipart/form-data" οnsubmit="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_

转载于:https://my.oschina.net/u/232595/blog/389758

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值