泰仔在线

java学习,心情日记,缤纷时刻
posts - 100, comments - 34, trackbacks - 0, articles - 0

js共通报错

Posted on 2006-11-09 11:11 泰仔在线 阅读(1833) 评论(0)  编辑  收藏 所属分类: 网上冲浪Java 相关Javascript

   最近一个项目应日本客户的需求,我们在其中添加了一个共通报错的模块,对前后台的各种提示信息进行收集,并进行统一的处理,显示给系统的用户。
   这个模块,主要思想就是利用前台顶层页面的一个js数组,将提示信息都收集起来,然后再按照要求进行显示。前台的收集肯定就不用说了,后台的收集我这里是将后台的提示信息先保存在request里面,到达页面后再利用标签转存到js数组里,最后进行统一的呈现。这个过程中由于js经验的不足,走了一些弯路,因此把它记录下来,作为以后继续学习的基础。
   这里是开始调试的一些代码:
//添加錯誤message打印到頁面
function showMsgWindow(obj){
 var pagePath = window.top.TGlobals.webRoot + "/pages/common/msgShow.jsp";
 showModelessDialog(pagePath,obj,"dialogTop:200px;dialogLeft:200px;dialogHeight:400px;dialogWidth:700px;status:no;edge:sunken; ");
}

//定义Message数据结构
function msgObj(msgname, msgkey, msgvalue) {
 this.msgname = msgname;
 this.msgkey = msgkey;
 this.msgvalue = msgvalue;
 
 msgObj.prototype.getname = function() {
  return this.msgname;
 }
 
 msgObj.prototype.getkey = function() {
  return this.msgkey;
 }
 
 msgObj.prototype.getvalue = function() {
  return this.msgvalue;
 }
}

//去空
function zNull(str) {
 if (str.length < 1) {
  str = "&nbsp";
 }
 return str;
}

function errorMsgWindow(){
 var obj = window.top.errorMsg;
 if (obj.length > 0) {
  showMsgWindow(obj);
  clearErrorMessage();
  return false;
 }
 return true;
}

//根据参数对Message进行初始化
function pushErrorMessage(){
 var strobj = new msgObj();

 if (arguments.length >= 3) {  
  strobj = new msgObj(zNull(arguments[0]), zNull(arguments[1]), zNull(arguments[2]));
 } else if (arguments.length == 2) {
  strobj = new msgObj(zNull(arguments[0]), zNull(arguments[1]), "&nbsp");
 } else {
  return false;
 }
 window.top.errorMsg.push(strobj);
}

function clearErrorMessage(){
 window.top.errorMsg = new Array();
}
   事实证明这里有几个地方是有点问题的,一般调用好像不会出现,但用的范围广一些就会有感觉了。


只有注册用户登录后才能发表评论。


网站导航: