События платформы
Я не могу сделать платформой событие. В Chrome я не вижу никаких запросов (но если я делаю XSP.PartialRefreshGet, это работает. Может быть, у меня проблема с версией библиотеки?). Вот код
<xp:button id="button1" value="ClickMe">
<xp:eventHandler event="onclick" submit="false">
<xp:this.script><![CDATA[XSP.publishEvent("publishString", "hello", "string");]]></xp:this.script>
</xp:eventHandler>
</xp:button>
<xp:label value="Label" id="label1"></xp:label>
<xp:platformEvent id="platformEvent1" eventName="publishString">
<xp:eventHandler event="onevent" submit="true" refreshMode="complete">
<xp:this.action><![CDATA[#{javascript:if (context.getSubmittedValue() == null) getComponent("label1").setValue("No value submitted");
else getComponent("label1").setValue(context.getSubmittedValue());}]]>
</xp:this.action>
</xp:eventHandler>
</xp:platformEvent>
PS: кто-нибудь может загрузить несжатую библиотеку XSPClientDojo, пожалуйста. По какой-то причине он не существует в каталоге домино.
1 ответ
Решение
publishEvent является частью поддержки XPiNC (XPages в Notes Client) наряду с такими методами, как XSP.executeCommand. Они имеют дело с интеграцией с клиентом Notes, поэтому их лучше игнорировать при правильной разработке браузера.
События Dojo, вероятно, больше, чем вы ищете: http://dojotoolkit.org/documentation/tutorials/1.7/events/