`
齐晓威_518
  • 浏览: 622789 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

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>
分享到:
评论

相关推荐

    针对window.showmodaldialog弹出窗体无刷新的详细使用

    在网页开发中,`window.showModalDialog` 是一个古老的 API,用于创建模态对话框,它可以在不刷新页面的情况下与用户交互。这个方法在现代Web开发中已经逐渐被`&lt;dialog&gt;`元素或JavaScript库如jQuery UI、Bootstrap ...

    window.showModalDialog方法的使用

    在JavaScript编程中,`window.showModalDialog`是一个用于打开模态对话框的函数,它能够创建一个新的浏览器窗口或者在当前窗口内显示一个弹出层,阻止用户与父窗口的交互,直到用户关闭对话框为止。这个方法在创建...

    关于struts2里用javascript刷新window.showModalDialog的父页面

    - `window.showModalDialog`方法会返回一个值,这个值是由弹出窗口通过`window.returnValue`设置的。 - 当弹出窗口关闭时,我们可以根据返回值来判断是否需要刷新父页面。 3. **在弹出的窗口中设置返回值**: ...

    window.showModalDialog('d.html',fault,'');

    总结来说,`window.showModalDialog` 是一个过时的 JavaScript 功能,用于弹出模态对话框,但现代 Web 开发已倾向于使用更灵活和兼容的解决方案。了解这一历史遗留功能有助于理解早期网页交互的设计思路,同时也提醒...

    浅谈JavaScript窗体Window.ShowModalDialog使用

    总的来说,`window.showModalDialog()`和`window.showModelessDialog()`是JavaScript中较老的弹出对话框技术,它们提供了对对话框外观和行为的控制,但在现代Web开发中,由于浏览器兼容性和可访问性问题,已被其他...

    Window.showDialog详解合集

    对于弹出框关闭的返回值,`showDialog`会等待对话框窗口关闭,并将`window.returnValue`的值返回给调用者。在对话框窗口中设置返回值: ```javascript window.returnValue = "处理结果"; window.close(); ``` 在...

    window.showModalDialog两次加载问题清除缓存方法

    在Web开发中,使用window.showModalDialog()方法可以打开一个模态对话框,这种对话框可以用来创建登录框、弹出窗口等交互式界面。但在某些情况下,开发者可能会遇到window.showModalDialog两次加载的问题。具体表现...

    showModalDialog实例

    当弹出窗口关闭时,它会将数据通过`window.returnValue`返回到主窗口。 2. **Doback.jsp**:这是弹出的窗口,用户在这里填写信息。`save`函数负责收集表单元素的值(例如`returndate`、`checkpeople`和`remark`),...

    showModalDialog实现prompt的简易方式

    做项目时,碰到了前台页面需要向弹出框传值并且需要使用弹出框的返回值的需要,一开始使用的prompt(); 发现ie浏览器时,prompt()弹出框的位置会固定在左上角。后来使用window.showModalDialog(url,params,pos)方法 ...

    Chrome中模态对话框showModalDialog返回值问题的解决方法

    为了解决这个问题,一种可行的跨浏览器解决方案是,在弹出的对话框中同时设置`window.openerReturnValue`,如下所示: ```javascript // 在弹出的对话框中 window.openerReturnValue = '返回的值'; window.close();...

    html 模态窗口使用

    模态窗口(Modal Window)是指一个阻止用户与主窗口交互直到被关闭的弹出窗口。而非模态窗口(Modeless Dialog)则允许用户同时与主窗口和其他窗口进行交互。在HTML中,实现这两种类型的窗口通常依赖于JavaScript,...

    子窗口刷新父窗口总结

    这在诸如弹出框进行数据编辑、表单提交等场景中尤为常见。本文档将深入探讨如何在子窗口关闭时刷新父窗口,包括使用`window.open()`、`window.showModalDialog()`以及jQuery进行操作的方法。 #### 一、使用`window....

    谷歌浏览器不支持showModalDialog模态对话框的解决方法

    总的来说,面对`showModalDialog`在现代浏览器中的不兼容问题,开发者可以通过`window.open`结合`window.opener`来实现类似功能,同时考虑使用更现代的Web技术,如CSS弹出层(modal overlays)配合JavaScript事件...

    javascript刷新父页面

    在网页开发中,有时我们需要从一个弹出的子窗口(通常是由 `window.open` 或 `window.showModalDialog` 方法打开的)来控制父窗口的行为,比如刷新父窗口的页面。这在很多应用场景下都非常有用,比如用户在子窗口...

    弹出框的实现方式

    - **JavaScript函数**:定义了一个名为 `openDialog` 的函数,该函数使用 `window.showModalDialog` 方法打开 `b.aspx` 页面,并设置了一些弹出框的属性,如宽度、高度等。 - **按钮事件处理**:当用户点击按钮时,...

    javascript打开静态子窗口

    这样的子窗口往往用于展示固定的信息或者进行特定的操作,例如弹出一个登录框或表单提交确认对话框等。 #### 2. 使用 `window.open()` 方法 在JavaScript中,可以通过`window.open()`方法来打开一个新的浏览器窗口...

    showModalDialog()、showModelessDialog()方法的使用.

    在Web开发中,有时我们需要创建弹出式窗口与用户交互,这时就涉及到`showModalDialog()`和`showModelessDialog()`这两个JavaScript方法。这两个方法都是IE浏览器提供的,用于创建具有不同特性的对话框。 1. `...

    window.returnValue使用方法示例介绍

    模态窗口关闭后,`showmodal()`函数会检查`window.returnValue`的值,然后弹出相应的警告框。 2. **child.html**(子窗口) ```html &lt;TITLE&gt;&lt;/TITLE&gt; function trans(tag) { if (tag == 0) { window....

    Js 弹出框口并返回值的两种常用方法

    1.window.... 弹出框中通过window.returnValue来设置返回值,上面的value拿到的就是这个值,然后主窗口中可以对 这个值进行处理,实现交互处理 注:模式对话框的应用就在于它的返回值,可以返回简单字符窜

Global site tag (gtag.js) - Google Analytics