关于dwz框架的局部刷新问题
< 返回列表时间: 2014-09-24来源:开源中国
HDC调试需求开发(15万预算),能者速来!>>>
我新项目前台用dwz框架,其中有部分局部刷新,我对示例稍微进行了改动,就是我点击中间“海洋矿业企业生产经营情况”等时,右边jbsxBox会局部刷新,我点“添加”时,在navTab里打开一个新的页面(见图2) ,不是 dialog。
<li><a class="add" href="/table/table!get.action?code=${code}&dataTableId=${dataTableId}" target="navTab" mask="true">
<span>添加</span>
</a>
</li>

图1 (中间菜单和右边列表是同一个页面)

图2


<form name="xxxForm" method="post" action="xxx.action" class="pageForm required-validate"
onsubmit="return validateCallback(this, jbsxBoxAjaxDone)">
...
</form>
jbsxBoxAjaxDone 方法是自定义的
function jbsxBoxAjaxDone(json){
DWZ.ajaxDone(json);
if (json.statusCode == DWZ.statusCode.ok){
var $parent = navTab.getPanel(json.navTabId);
var $pagerForm = $("#pagerForm", $parent);
var args = $pagerForm.size()>0 ? $pagerForm.serializeArray() : {}
var $box = $parent.find("#" + json.rel);
var form = _getPagerForm($box,args);
if (form) {
$box.ajaxUrl({
type:"POST", url:$(form).attr("action"), data: $(form).serializeArray(), callback:function(){
$box.find("[layoutH]").layoutH();
}
});
}

// divSearch(form,json.rel);

if ("closeCurrent" == json.callbackType) {
setTimeout(function(){navTab.closeCurrentTab(json.navTabId);}, 100);
} else if ("forward" == json.callbackType) {
navTab.reload(json.forwardUrl);
} else if ("forwardConfirm" == json.callbackType) {
alertMsg.confirm(json.confirmMsg || DWZ.msg("forwardConfirmMsg"), {
okCall: function(){
navTab.reload(json.forwardUrl);
},
cancelCall: function(){
navTab.closeCurrentTab(json.navTabId);
}
});
} else {
navTab.getCurrentPanel().find(":input[initValue]").each(function(){
var initVal = $(this).attr("initValue");
$(this).val(initVal);
});
}
}
}
json.navTabId 是图1 中“报表列表”页面的 navTabId ; json.rel 就是“jbsxBox”。
然后保存之后,列表变成下图的样子了。想问下这是什么原因?


热门排行