重写alert方法与模态窗体
<script type="text/javascript"> function UpdatePublishTime() { var hd_ArticleID = document.getElementById("hf_ArticleID"); var hd_ArticleType = document.getElementById("hf_ArticleSaveType"); var pbURL = 'AmendArticlePublishTime.aspx?ArticleID=' + hd_ArticleID.value + '&ArticleType=' + hd_ArticleType.value + '&mode=' + new Date().getTime(); ; var newPublishTime = window.showModalDialog(pbURL, "", "dialogHeight:280px;dialogWidth:140px;center:yes;status:no"); //if (typeof (newRootNodeID) != "undefined" && newRootNodeID != null && newRootNodeID != "") { // var lbl_PublishTime = document.getElementById("lbl_PublishTime"); //lbl_PublishTime.value = newPublishTime; //显示修改后的文章发布时间 // } } </script>
模态窗体的运用, window.showModalDialog(pbURL, "", "dialogHeight:280px;dialogWidth:140px;center:yes;status:no");
模态窗体是把一个页面用一个小窗体显示出来,但是正常来说这个窗体是一个表格或者内容相对比较丰富
我今天遇到的问题是希望当你点击“联系电话”按钮的时候弹出来该用户的联系电话,所以这么小的东西的话用一个页面去做的话,个人感觉很没有必要
所以果断抛弃了模态窗体这个方法!
那么我就想到了简单的js里头的alert方法,但是问题又来了,alert方法窗体不符合我的要求,所以上网找了重写alert方法的函数,
最终结果如下:
javascript函数:
<script language="javascript"> function alertWin(title, msg, w, h) { var titleheight = "15px"; // 窗口标题高度 var bordercolor = "#666699"; //窗口的边框颜色 var titlecolor = "#FFFFFF"; // 窗口的标题颜色 var titlebgcolor = "#407390"; // 窗口的标题背景色 var bgcolor = "#f7f8f9"; // 内容背景色 var iWidth = document.documentElement.clientWidth; var iHeight = document.documentElement.clientHeight; var bgObj = document.createElement("div"); bgObj.style.cssText = "position:absolute;left:0px;top:0px;width:" + iWidth + "px;height:" + Math.max(document.body.clientHeight, iHeight) + "px;filter:Alpha(Opacity=30);opacity:0.3;background-color:#000000;z-index:101;"; document.body.appendChild(bgObj); var msgObj = document.createElement("div"); msgObj.style.cssText = "position:absolute;font:11px '宋体';top:" + (iHeight - h) / 2 + "px;left:" + (iWidth - w) / 2 + "px;width:" + w + "px;height:" + h + "px;text-align:center;border:1px solid " + bordercolor + ";background-color:" + bgcolor + ";padding:1px;line-height:22px;z-index:102;"; document.body.appendChild(msgObj); var table = document.createElement("table"); msgObj.appendChild(table); table.style.cssText = "margin:0px;border:0px;padding:0px;"; table.cellSpacing = 0; var tr = table.insertRow(-1); var titleBar = tr.insertCell(-1); titleBar.style.cssText = "width:100%;height:" + titleheight + "px;text-align:left;padding:3px;margin:0px;font:bold 13px '宋体';color:" + titlecolor + ";border:1px solid " + bordercolor + ";cursor:move;background-color:" + titlebgcolor; titleBar.style.paddingLeft = "10px"; titleBar.innerHTML = title; var moveX = 0; var moveY = 0; var moveTop = 0; var moveLeft = 0; var moveable = false; var docMouseMoveEvent = document.onmousemove; var docMouseUpEvent = document.onmouseup; titleBar.onmousedown = function() { var evt = getEvent(); moveable = true; moveX = evt.clientX; moveY = evt.clientY; moveTop = parseInt(msgObj.style.top); moveLeft = parseInt(msgObj.style.left); document.onmousemove = function() { if (moveable) { var evt = getEvent(); var x = moveLeft + evt.clientX - moveX; var y = moveTop + evt.clientY - moveY; if (x > 0 && (x + w < iWidth) && y > 0 && (y + h < iHeight)) { msgObj.style.left = x + "px"; msgObj.style.top = y + "px"; } } }; document.onmouseup = function() { if (moveable) { document.onmousemove = docMouseMoveEvent; document.onmouseup = docMouseUpEvent; moveable = false; moveX = 0; moveY = 0; moveTop = 0; moveLeft = 0; } }; } var closeBtn = tr.insertCell(-1); closeBtn.style.cssText = "cursor:pointer; padding:2px;background-color:" + titlebgcolor; closeBtn.innerHTML = "<span style='font-size:15pt; color:" + titlecolor + ";'>×</span>"; closeBtn.onclick = function() { document.body.removeChild(bgObj); document.body.removeChild(msgObj); } var msgBox = table.insertRow(-1).insertCell(-1); msgBox.style.cssText = "font:10pt '宋体';"; msgBox.colSpan = 2; msgBox.innerHTML = msg; function getEvent() { return window.event || arguments.callee.caller.arguments[0]; } } </script>
调用的话:
<input type="button" value="联系方式" class="btn" onclick="return alertWin('联系电话',' <table><tr><td>产权人电话:</td><td><%#Eval("CONTACT_TEL_NO_RESIDENT")%></td></tr><tr><td> </td></tr><tr><td>使用人电话:</td><td><%#Eval("CONTACT_TEL_NO_OWNER")%></td></tr><tr><td> </td></tr><tr><td>备用联系电话1:</td><td><%#Eval("BK_PHONE_NO_1")%></td></tr><tr><td> </td></tr><tr><td>备用联系电话2:</td><td><%#Eval("BK_PHONE_NO_2")%></td></tr><tr><td> </td></tr><tr><td>备用联系电话3:</td><td><%#Eval("BK_PHONE_NO_3")%></td></tr><tr><td> </td></tr><tr><td>备用联系电话4:</td><td><%#Eval("BK_PHONE_NO_4")%></td><tr><td> </td></tr></tr></table>',200,200)">
该方法为alertWin("标题",“内容”,"长",“宽”);
最终效果如下: