关于在SharePoint2013中弹出模态化窗口的问题及关闭事件。

js:

/*弹出对话框方法开始*/
/*
* 弹窗方法(需要回传值时,自定义回调方法)
* @url: 弹出窗口页面url
* @width: 宽度
* @height: 高度
* @callback: 回调函数

* @title: 标题名
*/
function custom_openDialog_callBack(url, width, height, title, callback) {
    var options = SP.UI.$create_DialogOptions();
    options.width = width;
    options.height = height;
    options.title = title;
    options.url = url;
    options.dialogReturnValueCallback = Function.createDelegate(
        null, callback);
    SP.UI.ModalDialog.showModalDialog(options);
}
/*
* 弹窗方法
* @url: 弹出窗口页面url
* @width: 宽度
* @height: 高度
*/
function custom_openDialog(url, width, height) {
    custom_openDialog_callBack(url, width, height, closeCallback);
}
/*
* 弹窗方法custom_openDialog对应的回调方法
*/
function closeCallback(result, value) {
    if (SP.UI.DialogResult.OK == result) {
        window.location = window.location;
    } else {
        return false;
    }
}
/*弹出对话框方法结束*/

调用的方法:

//模态化窗体弹框(无参)
    function showModalWindow()
    {
        custom_openDialog_callBack(‘../../_Layouts/15/HF.Brilliance.App/ProjectChange/ProjectChangeWindow.aspx‘, ‘500‘, ‘600‘,‘新建变更记录‘, closeCallback);
    }
    //模态化窗体弹框(有参)
    function showModalWindowId(id) {
        var url = "../../_Layouts/15/HF.Brilliance.App/ProjectChange/ProjectChangeWindow.aspx?id=" + id;
        custom_openDialog_callBack(url, "500", "600", "查看变更记录", closeCallback);
    }

子窗口关闭事件(可以是按钮的点击事件):

Page.Response.Clear();
                Page.Response.Write("<script type=\"text/javascript\">window.frameElement.commonModalDialogClose(1,1)</script>");
                Page.Response.End();

标记的位置,1,1是提交和保存操作并刷新父窗体

         0,0取消操作不会刷新父窗体

时间: 2024-10-11 06:11:58

关于在SharePoint2013中弹出模态化窗口的问题及关闭事件。的相关文章

js关闭浏览器窗口及检查浏览器关闭事件

js关闭浏览器窗口,不弹出提示框.支持ie6+,火狐,谷歌等浏览器,下面以一个示例为大家详细介绍下具体的实现方法,感兴趣的朋友可以参考下 js关闭浏览器窗口 js关闭浏览器窗口,不弹出提示框.支持ie6+,火狐,谷歌等浏览器. <html> <head /> <body> <script type="text/javascript"> function closeWin(){ window.opener=null; window.open

wpf 窗口最小化后,触发某事件弹出最小化窗口并置顶

//如果窗口最小化了弹出并置顶----事件触发调用 ShowWindowAsync(new System.Windows.Interop.WindowInteropHelper(CommonHelper.view).Handle, 1); SetForegroundWindow(new System.Windows.Interop.WindowInteropHelper(CommonHelper.view).Handle); [System.Runtime.InteropServices.Dll

JS 弹出模态窗口解决方案

最近在项目中使用弹出模态窗口,功能要求: (1)模态窗口选择项目 (2)支持选择返回事件处理 在IE中有showModalDialog 方法,可以很好的解决该问题,但是在Chrome中和FF中就有问题了,它们不支持showModalDialog方法.因此需要采用不同的处理方法. IE中的窗口打开函数option参数定义之间必须用分号分隔,Chrome是用逗号分隔,使用时需要注意这点. var option = ""; //居中显示, option = "dialogWidth

extjs 弹出模态窗口

1.定义form [javascript] view plain copy var form1 = Ext.create('Ext.form.Panel', { id:'form1', frame: true, //title: 'Form Fields', //width: 340, bodyPadding: 5, //baseCls: "x-plain", fieldDefaults: { labelAlign: 'left', labelWidth: 90, anchor: '1

bootstrap 模态框中弹出层 input不能获得焦点且不可编辑

bootstrap 模态框中弹出层 input不能获得焦点且不可编辑 问题描述:bs框架支持一层model层的情况下,在模态框中弹出了自定义的弹出层.发现自定义弹出层的输入框不能获得焦点且不可编辑. 解决方法:去除模态框中的"tabindex"属性. <div class="modal fade" tabindex="-1" role="dialog" id="myModal" data-backdr

MFC 弹出模态对话框

在一个稍微大一点的程序中往往需要多个窗体来进行交换.有些窗体的出现是为了提醒用户注意或是为了实现一项指定功能,不希望用户在关闭这个窗口前对相应程序的其他窗体进行操作,这个时候会用到模式对话框,本文所讲的就是如何在 MFC 中创建一个最为简单的对话框,并在一定条件下以模态弹出该对话框. 第一步:创建对话框,在程序的资源视图中Dialog文件夹处右键->插入对话框 第二步:为对话框添加对应的对话框类,双击相应对话框视图->在弹出的"MFC添加类向导"中填入对话框类名->点

在服务程序中弹出对话框

最近一个项目中,客户一定要在服务程序中弹出对话框.跟客户好说歹说,说我们已经记了Log,弹对话框没有意义,反而可能由于弹框后没有人管,造成程序停滞在那里的情况.但是,客户不管这些,就要弹对话框. 没辙,弹吧,弹个框还能多费事?没想到,还真挺费事.WinXP和Windows2003下问题不大,上网找找方法,框就弹出来了.但是,Vista和Windows2008下,这个框死活弹不出来. 先说说在WinXP和Windows2003下用的方法. 第一种方法是在服务进程中启动一个子进程.用该子进程弹出对话

Swing中弹出对话框的几种方式_JOptionPane.showMessageDialog等详解

Swing中弹出对话框的几种方式_JOptionPane.showMessageDialog等详解 在swing中,基于业务的考量,会有对话框来限制用户的行为及对用户的动作进行提示. Swing中提供了JOptionPane类来实现类似Windows平台下的MessageBox的功能,同样在Java中也有,利用JOptionPane类中的各个static方法 来生成各种标准的对话框,实现显示出信息.提出问题.警告.用户输入参数等功能.这些对话框都是模式对话框. ConfirmDialog ---

BroadcastReceiver广播接收者(四)——本地广播LocalBroadcastManager以及在onReceive()中弹出Dialog

MainActivity如下: package cc.cv; import android.os.Bundle; import android.support.v4.content.LocalBroadcastManager; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.app.Activity; import an