Очередной Сабж Про Dialog Box

Тема в разделе "Lotus - Xpages", создана пользователем Dragon108, 6 мар 2013.

  1. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0
    Есть довольно простая задача: Есть кнопка, по клику на нее должно открываться окно (DialogBox) с возможность ввода текста, после закрытия окна введенный текст необходимо обработать и сохранить в документ.

    Нашел тучу примеров, в частности через Dojo : Ссылка (пример)

    Вроде бы все ок, все красиво: окно открывается, текст вводиться. Но вопрос такой, откуда потом брать значение введенное в DialogBox?
    Насколько я понял здесь (в примере) оно вводится в поле которое привязано к viewScope.testValue, но при сохранении в документ viewScope.testValue оказывается пустым.

    Хелп плиз, где нагорбил\недосмотрел\проглядел?

    P.S. Пробовал менять типы Scope переменных (Application, session и т.д.), брать поле через getComponent - все равно значение там пустое.

    Код хпаге прилагаю -

    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"Текст XPage"</div></div><div class="sp-body"><div class="sp-content">
    Код (Text):
    <?xml version="1.0" encoding="UTF-8"?>
    <xp:view xmlns:xp="http://www.ibm.com/xsp/core" dojoParseOnLoad="true"
    dojoTheme="true">
    <xp:this.resources>
    <xp:dojoModule name="dijit.Dialog"></xp:dojoModule>
    </xp:this.resources>
    <xp:this.data>
    <xp:dominoDocument var="document1" formName="RPCEvent"></xp:dominoDocument>
    </xp:this.data>
    <xp:button value="Show" id="button2">
    <xp:eventHandler event="onclick" submit="false">
    <xp:this.script><![CDATA[dijit.byId("#{id:dlg}").show()]]></xp:this.script>
    </xp:eventHandler>
    </xp:button>
    <xp:br></xp:br>
    <xp:panel id="dlg" dojoType="dijit.Dialog">
    <xp:this.dojoAttributes>
    <xp:dojoAttribute name="title" value="Test Dialog"></xp:dojoAttribute>
    </xp:this.dojoAttributes>
    <xp:inputText id="target" value="#{sessionScope.testValue}"></xp:inputText>
    </xp:panel>
    <xp:br></xp:br>
    <xp:button id="button1" value="Save">
    <xp:eventHandler event="onclick" submit="true"
    refreshMode="complete">

    <xp:this.action>

    <xp:actionGroup>




    <xp:executeScript>
    <xp:this.script><![CDATA[#{java script:document1.getDocument().replaceItemValue('A1', sessionScope.testValue)
    }]]></xp:this.script>
    </xp:executeScript>
    <xp:saveDocument var="document1"></xp:saveDocument>
    </xp:actionGroup>
    </xp:this.action>
    </xp:eventHandler></xp:button>
    </xp:view>
     
  2. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Если ты пытаешься все это обрабатывать на SSJS - то следует отходить от привычного программирования.
    В SSJS нет понятия модальных окон. И следовательно обрабатывать диалоги как LS не получится.
    Почитай тут
     
Загрузка...
Похожие Темы - Очередной Сабж Про
  1. lmike
    Ответов:
    0
    Просмотров:
    1.702
  2. Kizarek86
    Ответов:
    13
    Просмотров:
    5.558

Поделиться этой страницей