0

How to send an event to Client from Server

asked 2012-08-13 20:37:54 +0800

jj gravatar image jj
638 3

I'm using both Client-side javascript and Server-side ZK. I'd like to be able to have a client-side listener be called when a certain event is posted on the server.

Ideally, it should work like this:

Client side:

wdgt.setListener("onOK", function(evt) {alert("onOK is called.");});

Server side (in a composer):

Events.sendEvent("onOK", wdgt, "OK");

However, I haven't got this to work. Maybe I am not setting up the listener correctly? Any help is welcome.
Thanks.

-JJ

delete flag offensive retag edit

2 Replies

Sort by ยป oldest newest

answered 2012-08-15 19:26:47 +0800

jj gravatar image jj
638 3

Any suggestions?
Thanks.

-JJ

link publish delete flag offensive edit

answered 2012-08-16 09:54:45 +0800

benbai gravatar image benbai
2228 6
http://www.zkoss.org

Hi JJ,

Maybe you can try call widget function directly by response directly as below

<zk xmlns:w="client">
	<zscript><![CDATA[
		import org.zkoss.zul.Button;
		import org.zkoss.zk.au.out.AuInvoke;
		class CustomButton extends Button {
			public void sendResponse(String key, AuInvoke auInvoke) {
				response(key, auInvoke);
			}	
		}
	]]></zscript>
	<label id="lb" value="label">
		<attribute w:name="bind_">
			function (desktop, skipper, after) {
				this.$bind_(desktop, skipper, after);
				this.onTestEvt = function (evtnm, msg) {
					zk.log(evtnm);
					zk.log(msg);
				}
			}
		</attribute>
	</label>
	<button use="CustomButton"
		label="call 'onTestEvt' of label">
		<attribute name="onClick"><![CDATA[
			self.sendResponse("label", new AuInvoke(lb, "onTestEvt", new Object[] {"onTestEvent", "message"}));
		]]></attribute>
	</button>
</zk>

Regards,
Ben

link publish delete flag offensive edit
Your reply
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Question tools

Follow

RSS

Stats

Asked: 2012-08-13 20:37:54 +0800

Seen: 172 times

Last updated: Aug 16 '12

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More