这里要实现的效果类似与手机短信的群发,写好一条信息后,然后收信人可以弹出一个小窗体,弹出窗体里显示的是一个通讯录,类似与上一篇文章写的那样,左边是目录右边是联系人,选好后,就将数据传回给父窗体中的收信人文本框。全部由 js 脚本来实现。好,现在来看看具体的实现。两个页面,发送信息页面 MsgSend.aspx ,选取联系人页面 SelectCellphone.aspx 页面,这个页面和上篇文章一样左边是一个 iframe id 是“ left src department.aspx, 右边也是个 iframe id 是“ right src contactors.aspx
MsgSend.aspx 前台脚本:
   function chooose(UID)
    {
        var url = 'http://localhost/ChooseCellPhone/Default.aspx?UID=' + UID;
        var reValue = window.showModalDialog(url,null,'dialogWidth=550px;dialogHeight=450px;help:no;status:no;scroll=no;');// 模态弹出通讯录窗体
        if(reValue != false && reValue != undefined)
        {
            var index = reValue.indexOf(',');
            var tel = reValue.substr(0, index);
            var user = reValue.substr(index+1, reValue.length);
            formData.txtSendTo.value = user;// 收信人姓名
            formData.txtSendToMobile.value = tel;// 收信人电话号码
        }
       
        //return false;
    }
SelectCellphone.aspx 前台脚本
   function selectCellphone()
    {             
        var phonelist = "";
       
        var o = window.parent.frames["right"].document.form1.elements;
       if(window.parent.frames["right"].GridView1 != null)
       {
           for(var j=0;j< window.parent.frames["right"].GridView1.rows.length;j++ )
           {     
                        
                if(o[j+2].type=="checkbox"&&o[j+2].checked)
                {   
           if(window.parent.frames["right"].GridView1.rows(j+1).cells(2).innerText != "")//gridview 控件显示出来后其实是个table,第一列是checkbox选择框,第2列是人员姓名,第3列是手机号码
           {
              phoneList += window.parent.frames["right"].GridView1.rows(j+1).cells(2).innerText ;
              if(phonelist!= "" ) phonelist += ";";
           }
                 }
            }
          
            var userlist = "";
            for(var k=0;k< window.parent.frames["right"].GridView1.rows.length;k++ )
           {     
                        
                if(o[k+2].type=="checkbox"&&o[k+2].checked)
                {  
           if(window.parent.frames["right"].GridView1.rows(k+1).cells(2).innerText != "")
           {
           userlist += window.parent.frames["right"].GridView1.rows(k+1).cells(1).innerText ;
           if( userlist != "" ) userlist += ";";
           }
                 }
            }
            var returnValue = phonelist + "," + userlist;// 将收集号码和人员姓名组成字符串
       window.returnValue= returnValue;// 返回值
         }
       CloseWindow();   // 关闭弹出窗体      
       
  
   }
    function CloseWindow()
    {
       window.opener = -1;
       window.close();
   }
   其实这个也没什么难点,主要是对 table 的操作,怎么读取 table 里面的值,读取 table 的行数 window.parent.frames["right"].GridView1.rows.length ,读取 table 里面 td 的值 window.parent.frames["right"].GridView1.rows(k+1).cells(2).innerText,table cell gridveiw 一样也是从 0 列开始的