Проблема при закрытии всплывающего окна в LifeRay

Я столкнулся с проблемой при закрытии всплывающего окна. Я открываю свое всплывающее окно и использую следующий код

View.jsp

<aui:script>
AUI().use('aui-base',
    'aui-io-plugin-deprecated',
    'liferay-util-window',
    'liferay-portlet-url',
    'aui-dialog-iframe-deprecated','aui-modal',
    function(A) {
    var modal=null;
    A.one('#<portlet:namespace />updateNewsPaper').on('click', function(){

    A.one('#modal-content').setStyle('display','block')
    modal = new A.Modal(
      {
       srcNode : '#modal-content',  //contentBox:#modal-content
        centered: true,
        headerContent: '<h3>Confirmation</h3>',
        modal: true,
        render: '#modal',
        width: 450
      }
    ).render();
    });
    A.one('#<portlet:namespace />btnNo').on('click', function(event){
        modal.hide();
    });
    A.one('#<portlet:namespace />btnYes').on('click',function(event) {


        modal.hide();

     var paperId=document.getElementById('newsPaperId').value;
     var newsUrl=document.getElementById('newsPaperUrl').value;
     var keyword=document.getElementById('subject').value;
     var flag = document.getElementById("flag").value;
     var status='update';
     var newsPaperName = document.getElementById("newsPaperName").value;


    var popUpWindow=Liferay.Util.Window.getWindow(
                        {
                            dialog: {
                                centered: true,
                                constrain2view: true,
                                //cssClass: 'yourCSSclassName',
                                modal: true,
                                resizable: false,
                                width: 500

                            },

                        }
                    ).plug(
                        A.Plugin.DialogIframe,
                        {
                            id: '<portlet:namespace/>dialog',
                            autoLoad: false,
                            iframeCsviewpdfsClass: 'dialog-iframe',
                            uri:'<%= portletSettingsURL.toString() %>' + '&<portlet:namespace/>paperId=' + paperId + '&<portlet:namespace/>newsUrl=' + newsUrl + '&<portlet:namespace/>keyword=' + keyword + '&<portlet:namespace/>flag=' + flag + '&<portlet:namespace/>status=' + status + '&<portlet:namespace/>newsPaperName=' + newsPaperName
                        }).render();
                        ['aui-io-plugin-deprecated', 'liferay-util-window']
    popUpWindow.show();
    popUpWindow.titleNode.html("Are you sure? Do you want to update record?");
    popUpWindow.io.start();

});

});
</aui:script>
    <aui:script>
    Liferay.provide(window,'<portlet:namespace/>closePopup',function(dialogId){
        var A = AUI();
        var dialog = Liferay.Util.Window.getById(dialogId);
        alert(dialogId);
        dialog.destroy();
        },
    ['aui-base','aui-dialog','aui-dialog-iframe']
    );
    </aui:script>

    <portlet:renderURL var="portletSettingsURL" windowState="<%= LiferayWindowState.POP_UP.toString() %>">
        <portlet:param name="mvcPath" value="/html/openDialog.jsp" />

    </portlet:renderURL>

openDialog.jsp

<aui:script use="aui-base">
A.one('#<portlet:namespace/>closeDialog').on('click', function(event) {
alert("hello");
alert('<portlet:namespace/>dialog');
Liferay.Util.getOpener().<portlet:namespace/>closePopup('<portlet:namespace/>dialog');

});
</aui:script> 

Я получил следующую ошибку **

TypeError: диалог не определен

**

У меня есть кнопка действия и элементы управления формы в файле openDialog.jsp. Я хочу закрыть свое всплывающее окно, когда я нажимаю кнопку НЕТ. И когда я нажимаю на кнопку "Да", сначала выполняется моя операция, а затем после закрытия моего всплывающего окна. Когда я нажимаю на кнопку действия, происходит некоторая обработка, например, вставка моих записей в БД. После завершения вставки opendialog должен автоматически закрыться, и я возвращаюсь на свою страницу.

Как я могу достичь этого?

заранее спасибо

0 ответов

Другие вопросы по тегам