这里要实现的效果类似与手机短信的群发,写好一条信息后,然后收信人可以弹出一个小窗体,弹出窗体里显示的是一个通讯录,类似与上一篇文章写的那样,左边是目录右边是联系人,选好后,就将数据传回给父窗体中的收信人文本框。全部由
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
列开始的