Amalanleon
asked on
calling java function from javascript without applet
want to call java function from javascript which are in the same jsp page.
see the example below.
<%@ page import="com.dcx.mkt.webdaw .*,java.ut il.*" %>
<script>
function test1()
{
alert("test");
java.select();
alert("test1");
}
</script>
<input type=text value="5" onchange="test1()">
<%!
protected void select()
{
System.out.println("testin g java function");
}
%>
see the example below.
<%@ page import="com.dcx.mkt.webdaw
<script>
function test1()
{
alert("test");
java.select();
alert("test1");
}
</script>
<input type=text value="5" onchange="test1()">
<%!
protected void select()
{
System.out.println("testin
}
%>
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Easiest would be to convert your Java function to a Javascript function.
ASKER
Hi
I got five Combobox, depeding upon the first Combobox selected value the remaining value will be filled. I can't hold all the data in my JSP because I got nearly 5000 records for each Combobox. I need a java function to call in my javascript OnChange event.
Amal
I got five Combobox, depeding upon the first Combobox selected value the remaining value will be filled. I can't hold all the data in my JSP because I got nearly 5000 records for each Combobox. I need a java function to call in my javascript OnChange event.
Amal
Then you'll need to use an applet, or invoke a new jsp page. The jsp and javascript are executed on different machines and cannot interact directly.
Also sounds like your applet is going to have to make a call to the server to get the values.
Also sounds like your applet is going to have to make a call to the server to get the values.
hi
there
simplest way is to get one record at a time
so that ur page displays the data for all comboboxes in 1 go
when selection is made onChange event is fired which will submit the page to servlet (typical MVC approach)servlet invokes the java bean that fetches the data for the required field
post it back to your JSP
cheers
RJ
there
simplest way is to get one record at a time
so that ur page displays the data for all comboboxes in 1 go
when selection is made onChange event is fired which will submit the page to servlet (typical MVC approach)servlet invokes the java bean that fetches the data for the required field
post it back to your JSP
cheers
RJ
If you could get by with supporting IE only, you might look into XMLHTTP. You could then use javascript to make a request for new content without leaving your current location.
-corey
-corey
Use a frame of size 0 to make a server call that retrieves the combo boy values of the second combo box. The HTTP result then returns a page containing a page with the values and a javascript function that fills the combo box in the other frame. The user won't see it because the frame is not visible.
I implemented this for a car seraching engine, where you first select the car's brand and than in a second combo can choose the name of the car, where the names are retrieved from a DB...
Mirko
I implemented this for a car seraching engine, where you first select the car's brand and than in a second combo can choose the name of the car, where the names are retrieved from a DB...
Mirko
Amalanleon
You can call java from javascript using LiveScript.
Use <APPLET TAG> or <OPTION TAG> With MAYSCRIPT as option. Then you can execute Javascript function in java or java in javascript.
The function in java should be public. And u need to be using arrays as ur input and output to the function. U need to use JSObject for this.
The classes are available in your netscape in java40.jar. Put this in path or archive in your applet.
Thanks
Shyam
You can call java from javascript using LiveScript.
Use <APPLET TAG> or <OPTION TAG> With MAYSCRIPT as option. Then you can execute Javascript function in java or java in javascript.
The function in java should be public. And u need to be using arrays as ur input and output to the function. U need to use JSObject for this.
The classes are available in your netscape in java40.jar. Put this in path or archive in your applet.
Thanks
Shyam
"calling java function from javascript WITHOUT applet"
Core
You should have applet. Without it no way you can do it.
Shyam
You should have applet. Without it no way you can do it.
Shyam
The question asks how to do it WITHOUT an applet.
Which infers they know how to do it WITH an applet.
:-)
Which infers they know how to do it WITH an applet.
:-)
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:
- To be PAQ'ed and points NOT refunded
Please leave any comments here within the
next seven days.
PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER !
girionis
Cleanup Volunteer
I will leave a recommendation in the Cleanup topic area that this question is:
- To be PAQ'ed and points NOT refunded
Please leave any comments here within the
next seven days.
PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER !
girionis
Cleanup Volunteer
Sorry, wrong suggestion (copied/pasted the wrong comment :-)), my suggestions actually is
- points to bobbit31
- points to bobbit31
http://developer.netscape.com/docs/examples/livewire/liveconnect_js_java.html
http://www.rgagnon.com/javadetails/java-0170.html
http://www.apl.jhu.edu/~hall/java/Java-from-JavaScript.html
Hope it helps :-)