文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>用prototype写的一个动态表格例子,包括AJAX实现增删改

用prototype写的一个动态表格例子,包括AJAX实现增删改

时间:2007-11-30  来源:yueming

本文由 KEEL {http://blog.k99k.com}原创,转载请注明出处.
说明:由服务器代码(如JSP)生成GROUPS,LXRS数组字符串,由JS生成表格内容.并可对表格进行编辑,修改.修改通过AJAX实现,修改结果(也可以说是效果)简单的以重新载入页面的方式实现.
这其中有个相对比较复杂的下拉框处理,改了很多次,现在应该是一个比较完善的解决办法.
代码实现后在IE、FIREFOX、OPERA下测试通过(也费了一些周折).
结论:用了prototype很少几个特性(目前掌握得不多),就感觉代码少了很多,还是很方便的,呵呵。
注: 用prototype的版本为1.3.1,就是28K的那个。
又注:AJAX以服务器返回字符串true判断为处理成功,这个例子在无服务器环境下测试会alert一个错误,表示未成功连接服务器。
[code]
test
      
         
           通讯录管理
                       
      
           
                    添加组 | 添加联系人 | 修改组
                 
                 
           
         
                 
                   姓名
                   电话
                   群组
                   修改/删除
                                 
               
           
         
      
";
   $(con).innerHTML = show;
}
function backModi(con){
   var before = $("id_"+con).value;
   $(con).innerHTML = before;
}
//--------------------------------------------
//联系人,处理表格中的一行
var Lxr = Class.create();
//类结构
Lxr.prototype = {
   initialize: function(id, cName,phone,gName,gId,lId) {
     this.id = id;//序号,不是用户ID
     this.cName = cName;
     this.phone = phone;
     this.gName = gName;
     this.gId = gId;
     this.lId = lId;
    },
   //显示表格本行
    show: function() {
     var oRow=$('oTable').insertRow(-1);
     var cell_1=oRow.insertCell(-1);
     var cell_2=oRow.insertCell(-1);
     var cell_3=oRow.insertCell(-1);
     var cell_4=oRow.insertCell(-1);
     var cell_5=oRow.insertCell(-1);
     //定义ID
     oRow.id = "tr"+this.id;
     cell_1.id = "b"+this.id;
     cell_2.id = "c"+this.id;
     cell_3.id = "d"+this.id;
     cell_4.id = "e"+this.id;
     cell_5.id = "f"+this.id;
     cell_1.innerHTML=this.cName;
     cell_2.innerHTML=this.phone;
     cell_3.innerHTML=this.gName;
     cell_4.innerHTML="修改";
     cell_5.innerHTML="删除";
    },
    //显示修改本行
   modi: function() {
     if(GROUPS.length ";
     $("e"+this.id).innerHTML = show;
     modiNow = this.id;
   },
    //取消显示修改
   cancel: function() {
     backModi("b"+this.id);
     backModi("c"+this.id);
     $("d"+this.id).innerHTML = this.gName;
     $("e"+this.id).innerHTML = "修改";
     modiNow = -1;
   },
    //提交修改
   doModi: function() {
     if(confirm("确认要修改此联系人?")){
       var n = $("id_b"+this.id).value;
       var p = $("id_c"+this.id).value;
       var g = 1;
       var lg = $('l_group');
       var i = lg.selectedIndex;
       g = $('l_group').options.value;
       if(n.length";
   for(i=0;i"+GROUPS.gName+"";
       if(gName==GROUPS.gName){
         gId = GROUPS.gId;
       }
     }
   }
   gStr+="";
   if(gId == -1){
     return gStr;
   }else{
     var str = "option value='"+gId+"'";
     return gStr.replace(str,"option value='"+gId+"' selected");
   }
}
//----------------------------------
//管理组及添加联系人
var GLCtrl = Class.create();
//组
GLCtrl.prototype = {
   initialize: function() {
     this.cancelButton = " ";
   },
   //显示修改组
   showModiGp: function() {
     if(GROUPS.length " + this.cancelButton;
     $('result').innerHTML = show;
   },
   //提交修改组
   doModiGp: function() {
     if(confirm("确认要更新此组名?")){
       var mg = $("mg").value;
       if(mg.length  " + this.cancelButton;
     $('result').innerHTML = show;
   },
   //提交添加
   doAddGp: function() {
     var ag = $("a_addG").value;
     if(ag.length默认组";}
     var show = "姓名:  电话:  组: "+g+" " + this.cancelButton;
     $('result').innerHTML = show;
   },
   //提交添加
   doAddLxr: function() {
     var n = $('l_name').value;
     if(n.length=0){
     alert(showOK);
     window.top.location.reload();
   }else{
     alert(showErr);
     $('result').innerHTML = showErr;
   }
}
//-->
     


相关阅读 更多 +
排行榜 更多 +
翌日波奇狗的历险记手机版下载

翌日波奇狗的历险记手机版下载

休闲益智 下载
怪兽远征安卓版下载

怪兽远征安卓版下载

角色扮演 下载
谷歌卫星地图免费版下载

谷歌卫星地图免费版下载

生活实用 下载