window.showModalDialog模拟prompt对话框

因为prompt对话框在IE里一直漂在左上角,也调不了,写了一个模拟的对话框,实现弹出对话框给用户输入数据。

为不涉及具体的业务内容,代码进行了简化。a.jsp只给出了js部分。

a.jsp:

<script language="JavaScript" type="text/JavaScript">

function input(){
     var r=confirm("请输入您的邮箱,跳过此步请点击取消!");
     if (r==true){

      var email = window.showModalDialog('b.jsp',"",'dialogWidth=500px;dialogHeight=160px;center=yes;middle=yes ;help=no;status=no;scroll=no');
     }else{
         return false ;
      }
     document.getElementById('email').value=email ;
     document.**Form.action.value="saveEmail" ;
     document.**Form.submit();
     return  ;
    }

</script >

b.jsp

<%@ page contentType="text/html;charset=GBK" language="Java" pageEncoding="GBK" %>
<%

request.setCharacterEncoding("GBK");
%>
<html XMLns:wsc>
<head>
<title></title>
<style type="text/css">
<!--
body,td,th {
 font-size: 9pt;
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script language=javascript>
function submit(){
var s=document.getElementById("num").value;
if(s==""){
 alert("请输入您的邮箱!");
 return false;
}
 if(!checkMail(s)){
  return false ;
 }
 window.returnValue=s;
 window.close();
}

function checkMail(str){
    var strReg="";
    var r;
    var strText=str; 

    strReg=/^/w+((-/w+)|(/./w+))*/@{1}/w+/.{1}/w{2,4}(/.{0,1}/w{2}){0,1}/ig;
    r=strText.search(strReg);
    if(r==-1) {
    alert("邮箱格式错误,请重新输入!");
    return false ;
    }
    return true ;
}

</script>  
</head>
<body>
<center>
<table>
<tr>&nbsp;</tr>
<tr>
<td>请输入您的邮箱:</td><td><input name="email" type="text" id="email" size="40"></td>
</tr>
<tr>
       <td>&nbsp;</td><td><input name="button" type="button" onClick="submit()" value="确定"/></td>
</tr>  
 
</table>
</center>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/chlx2008/article/details/5866842
今日推荐