window.showModalDialog弹出框问题分析

function viewProMulgatePage(tempId){
var url="******&templateId=" + tempId;
var result = window.showModalDialog(url,'',"dialogWidth=1024px;dialogHeight=595px;top=0;left=0;help:0;resizable:0;status=0;scrollbars=0;center=true");
if(result){
alert("成功!");
var urlStr= gotoMmmIndexPageUrl("mmsEdit.do?action=MmsMain");
    window.location.href =urlStr;
}
}

//根据请求值,追加条件
function gotoMmmIndexPageUrl(url){

    var templateName='<c:out value="${requestScope.templateName}"/>';
   
    var createUser='<c:out value="${requestScope.createUser}"/>';
   
    var createStartDate='<c:out value="${requestScope.createStartDate}"/>';
   
var createEndDate='<c:out value="${requestScope.createEndDate}"/>';

var promulgateStartDate='<c:out value="${requestScope.promulgateStartDate}"/>';

var promulgateEndDate='<c:out value="${requestScope.promulgateEndDate}"/>';

    var promulgateState='<c:out value="${requestScope.promulgateState}"/>';

弹出页面:
<script type="text/javascript">
$(document).ready(function(){
/**设置自定义发送类型,默认选中**/
$(".plgSend_one").attr("checked", true);

/**控制发送方式之间的切换,自定义发送内容的展示**/
$("input[type='radio']").change( function(){
//jquery对象判断,是否被选中,返回boolean值
if($(".plgSend_one").is(":checked")){ 
     //显示自定义发送对应的内容
             $("#send_content").show();         
      }
  if($(".plgSend_two").is(":checked")){
  //隐藏自定义发送对应的内容              
          $("#send_content").hide();               
      }         
});

/**重置按扭时,将切换到自定义发送内容展示**/
$(":reset").click(function(){
$("#send_content").show(); 
});

/**提交发布方式设置内容**/
$("#submit").click(function(){
    var templateId =$("#templateId").val();

    var promulgateType=$('[name=promulgateType]:radio:checked').val();
   
    var userIds =$("#userids").val();
   
    var hour=$("#hour").val();    

    var minute=$("#minute").val();

    var strSendPeriods="";
    $('[name=sendPeriods]:checkbox:checked').each(function(){    
    strSendPeriods+=$(this).val()+',';    
    });

    /**
     *后面多一个,(英文逗号),这个可以检测一下再用substring去除
     *或者获取到复选框选择值后一般都要转成数组再使用的,
      *所以也可以在转成数组后,去除最后一个数组元素
     */
    if (strSendPeriods.length > 0) {
        //得到选中的checkbox值序列
        strSendPeriods=strSendPeriods.substring(0,strSendPeriods.length - 1);
    }
    var para= "&templateId=" + templateId;
   
    /**特殊控制,只有在发送方式为'自定义时间发送'时,则验证以下请求信息**/
    if($(".plgSend_one").is(":checked")){
                /**查找所有 name 属性是 sendPeriods 的 input 元素**/
                var periods_Length=$("input[name='sendPeriods']:checked").length;
                               
                if(periods_Length<=0){
                    alert("请选择发送周期!");
                    return false;
                }
               
if(userIds==undefined || userIds == ''){
alert("请选择短信接收人");
return false;
}

/**发送方式为-自定义发送时,累加URL值**/
para += "&promulgateType=" + promulgateType;
para += "&userids=" + userIds;
para += "&hour=" + hour;
para += "&minute=" + minute;
para +="&sendPeriods="+strSendPeriods;
    }

     var url  = "mmsEdit.do?action=SendNoteInfo";
     url=encodeURI(url);
     url=encodeURI(url);
    
     para=encodeURI(para);
     para=encodeURI(para);
  
     xmlHttp= getXMLHTTP();
var post=para;//构造要携带的数据
xmlHttp.onreadystatechange=callback;
xmlHttp.open("POST",url,false);//使用POST方法打开一个到服务器的连接,以异步方式通信
try{
xmlHttp.setrequestheader("content-length",post.length);
xmlHttp.setrequestheader("content-type","application/x-www-form-urlencoded");
}catch(e){};
xmlHttp.send(post);
});
});

/**选择短信接收人**/
    var myUserMap = [];  
function chooseUsers(){
var url = "mmsEdit.do?action=SelectUserManPage&t="+Math.random();
var users = [];
users[1] = document.getElementById('userids').value;
users[0] = document.getElementById('userNames').value;
var selectedUsers = window.showModalDialog(url,users,"dialogWidth=1080px;dialogHeight=542px;directories:yes;help:no;status:no;resizable:no;scrollbars:yes;center=true");
if(selectedUsers){
document.getElementById('userNames').value = selectedUsers[0];
document.getElementById('userids').value = selectedUsers[1];
}
}

/**ajax请求及响应设置**/
function getXMLHTTP(){
    var A=null;
    try{
        A=new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e) {
        try{
            A=new ActiveXObject("Microsoft.XMLHTTP");
        } catch(oc) {
            A=null;
        }
    }
    if(!A && typeof XMLHttpRequest != "undefined"){
        A=new XMLHttpRequest();
    }
    return A;
}

function callback(){
if(xmlHttp.readyState == 4){  //判断对象状态
       if (xmlHttp.status == 200){//信息已成功返回,开始处理信息 
            var falg = xmlHttp.responseText;
            var sendNoteFlag=parseInt(falg);        
       if(sendNoteFlag>0){          
           window.returnValue =true;                  
window.close();
           return true;
       }else{
       window.returnValue =false;
       alert("提交发送短信失败");
       window.close();       
       }                
        }
    }
}

   //返回到上一页
function closeWindow(){
window.close();
}
</script>

你可能感兴趣的:(JavaScript,Ajax)