SP.UI.ModalDialog.commonModalDialogClose问题 [英] SP.UI.ModalDialog.commonModalDialogClose issue

查看:96
本文介绍了SP.UI.ModalDialog.commonModalDialogClose问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

提交页面后,下面 使用Javascript 用于关闭弹出窗口。 Excel数据中的记录将提交到SharePoint列表。如果excel记录较少,则页面提交工作正常并且记录正在变为 插入。
如果excel记录更多,页面提交会无限期地显示弹出窗口加载,但是记录会在列表中成功插入。



  ; var dialogWindow;
$
函数RequestEnded(){

       试试{

            SP.SOD.executeFunc( 'sp.js', 'SP.ClientContext',函数(){

        如果(dialogWindow! = NULL){

&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; SP.UI.ModalDialog.commonModalDialogClose(SP.UI.DialogResult.Cancel); <登记/>
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;

&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP ; }

      });

  &NBSP; &NBSP; &NBSP; } catch(ex){}

  &NBSP; };

解决方案

<跨度风格= "颜色:#1f497d">您好,


不太清楚你的逻辑,而如果你使用JSOM / rest api提交数据,那么操作将是异步的。


<跨度风格= "字体大小:10PT;行高:14px的;字体家庭:Arial字体,无衬线;颜色:#2f5597">对于这样的场景中,使用jQuery推迟&放大器的有用;承诺执行依赖于另一个逻辑的逻辑(对于这种情况,在向SharePoint提交
数据后关闭模式对话框)。


伪代码结构:

 var SubmitData = function(){
var deferred =


.Deferred();


.ajax( {
url:url,
type:'POST',
headers:{接受":‘应用/ JSON;的OData =冗长’},
成功:功能(数据){
//deferred.resolve是必要
deferred.resolve(数据);
}
})
return deferred.promise();
}


After Submitting the page, the below  Javascript is used  for closing the popup windows. Records from Excel data are submitted to SharePoint List.If the excel records are less, the page submission is working fine and records are getting  inserted. If excel records are more, the page submission shows popup loading indefinitely, however records are inserted successfully in the list.

 var dialogWindow;
function RequestEnded() {
        try {
            SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function () {
                if (dialogWindow != null) {
                    SP.UI.ModalDialog.commonModalDialogClose(SP.UI.DialogResult.Cancel);
                    
                }
            });
        } catch (ex) { }
    };

解决方案

Hi,

Not so clear about your logic, while if you’re using JSOM/rest api to submit data, the operation would be asynchronous.

For such scenario, it’s useful to use jQuery deferred&promise to execute the logic which depends on another logic( for this case, close modal dialog after submitting data to SharePoint).

Fake code structure:

var SubmitData = function () {
            var deferred =


.Deferred();


.ajax({ url: url, type: 'POST', headers: { 'Accept': 'application/json;odata=verbose' }, success: function (data) { //deferred.resolve is necessary deferred.resolve(data); } }) return deferred.promise(); }


这篇关于SP.UI.ModalDialog.commonModalDialogClose问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆