cancel
Showing results for 
Search instead for 
Did you mean: 

serverEvent for htmlb InputField

Former Member
0 Kudos

How to get the serverEvent for inputfield working?

Eg:

<hbj:inputField id="currencyDisplay" type="BCD"

width="250px" value="100" jsObjectNeeded="true">

<%currencyDisplay.setServerEvent (EventTrigger.ON_FOCUS,Event ev);%>

</hbj:inputField>

Also I've created a function ev() on Dynpage:

public void ev(Event e)throws PageException{

}

I get runtime error!

If i take off this line:

<%currencyDisplay.setServerEvent (EventTrigger.ON_FOCUS,Event ev);%>

It won't display error.

I need to execute something on the server with something changed in the inputfield...Anybody??

Thank you!

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Perhaps you should try:

<hbj:inputField id="currencyDisplay" type="BCD"

width="250px" value="100" jsObjectNeeded="true" onFocus="ev" >

</hbj:inputField>

Keep the code on the dynpage as it is now.

onFocus might not be the correct event for any change in the inputfield.

Maybe you need to use some other events mentioned in http://help.sap.com/saphelp_nw04s/helpdata/en/d6/b00e41a346ef6fe10000000a1550b0/frameset.htm.

I don't know which are actually used by the inputfield tag.

Former Member
0 Kudos

I Don't think there is tag property by names onFocus or onChange in inputfield library.

Any ideas?? Iam really stuck here.

Thanks.

Former Member
0 Kudos

<u><b>Log</b></u>:

Caused by: com.sapportals.portal.prt.servlets_jsp.server.compiler.CompilingException: /usr/sap/PD134/JC00/j2ee/cluster/server0/apps/sap.com/irj/servlet_jsp/irj/root/web-inf/portal/portalapps/com.top.ss_ser/work/pagelet/_sapportalsjsp_create.java:288: ')' expected

if1.setServerEvent(EventTrigger.ON_CHANGE, Event "ev");

^

1 error

at com.sapportals.portal.prt.servlets_jsp.server.compiler.impl.J2eeCompiler_6_30.launchCompilerProcess(J2eeCompiler_6_30.java(Compiled Code))

at com.sapportals.portal.prt.servlets_jsp.server.compiler.impl.J2eeCompiler_6_30.compileExternal(J2eeCompiler_6_30.java(Compiled Code))

at com.sapportals.portal.prt.servlets_jsp.server.compiler.impl.J2eeCompiler_6_30.compile(J2eeCompiler_6_30.java(Compiled Code))

at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPParser.parse(JSPParser.java(Compiled Code))

at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.compile(JSPCompiler.java(Compiled Code))

at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.run(JSPCompiler.java(Inlined Compiled Code))

at com.sapportals.portal.prt.core.broker.JSPComponentItem.compileJSP(JSPComponentItem.java(Compiled Code))

at com.sapportals.portal.prt.core.broker.JSPComponentItem.getComponentInstance(JSPComponentItem.java(Compiled Code))

at com.sapportals.portal.prt.core.broker.PortalComponentItemFacade.service(PortalComponentItemFacade.java(Compiled Code))

at com.sapportals.portal.prt.core.broker.PortalComponentItem.service(PortalComponentItem.java(Compiled Code))

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java(Compiled Code))

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java(Compiled Code))

at com.sapportals.portal.prt.component.AbstractComponentResponse.include(AbstractComponentResponse.java(Compiled Code))

at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java(Compiled Code))

at com.sapportals.portal.htmlb.page.JSPDynPage.doOutput(JSPDynPage.java(Compiled Code))

at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java(Compiled Code))

at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java(Compiled Code))

at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java(Compiled Code))

at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java(Compiled Code))

at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java(Compiled Code))

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java(Compiled Code))

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java(Compiled Code))

at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java(Compiled Code))

at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java(Compiled Code))

at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java(Compiled Code))

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java(Compiled Code))

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java(Compiled Code))

at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java(Compiled Code))

at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java(Compiled Code))

at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java(Compiled Code))

at java.security.AccessController.doPrivileged1(Native Method)

at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))

at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java(Compiled Code))

at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))

at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java(Compiled Code))

at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java(Compiled Code))

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java(Compiled Code))

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java(Inlined Compiled Code))

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java(Compiled Code))

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java(Compiled Code))

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java(Compiled Code))

at com.sap.engine.services.httpserver.server.Client.handle(Client.java(Inlined Compiled Code))

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java(Compiled Code))

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java(Compiled Code))

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java(Compiled Code))

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java(Compiled Code))

at java.security.AccessController.doPrivileged1(Native Method)

at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java(Compiled Code))

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java(Compiled Code))

Thanks

Answers (2)

Answers (2)

Former Member
0 Kudos

Use this in the JSP

hbj:inputField id="currencyDisplay" type="BCD"

width="250px" value="100" jsObjectNeeded="true">

<%currencyDisplay.<b>setClientEvent</b> (EventTrigger.ON_FOCUS,"ev()");%>

</hbj:inputField>

Have a JS function called ev() and do the processing.

Former Member
0 Kudos

Thanks Ankur, but iam trying to get the serverEvent working.

I tried what Detlev advised in one of the threads like compile the required .class file and see what the functions inside looks but it's too confusing for me to look at the complex code and understand.

Thanks.

Former Member
0 Kudos

I agree that you want to do server Processing. But from the JS function, you could trigger a server event as well. May be not truly a HTMLB event but you can definately call the component passing some parameters.

And based on the parameter call a function on server side.

Former Member
0 Kudos

Could you show me how to send the values and read the values back in the PBO from Javascript?

Thanks

Former Member
0 Kudos

OK Thats pretty simple create a dummy form and submit the form using the JS function that you call for the inputfield on focus event.

check out the below code for sample form and js script.

<form name="myform" action="/irj/portal/...yourcomponentURL">
<input type="hidden" name="my_hidden_field" value="updatethisusingJS">

</form> 
<SCRIPT language="JavaScript">
function submitform()
{
document.myform.my_hidden_field.value='passyourvaluetoserver'  
document.myform.submit();
}
</SCRIPT>

Former Member
0 Kudos

Do not forget this import:

<%@ page import = "com.sapportals.htmlb.enum.EventTrigger" %>

Lemme know if it worked!

Plz don forget points, if it helped.

Regards,

P.

Former Member
0 Kudos

Thanks!

Guess i need to put:

<%@ page import = "com.sapportals.htmlb.event.Event;"%>

also.

Itz still giving the error and i have no clue.

Thank you.

Former Member
0 Kudos

Hi

I am not sure if u need to define the server Event inside <% %> because the syntax doesn't have that. Please look through this for ur help.

http://help.sap.com/saphelp_nw04s/helpdata/en/d6/b00e41a346ef6fe10000000a1550b0/frameset.htm

Regards

Harini Subramanian