f



JSP and Javascripts on same page (Passing values to JSP from Javascript)

Hello.

I have a button on a form which goes to a function validate in
javascript as shown below:

<input type="button" name="<%= i%>" value="Edit"
onclick="validate(this.name)">

The javascript:

<script language="javascript">
var Action="";
function validate(Action){
	var actstring = Action.toString();
	ivalue = parseInt(actstring);
	return confirm('Ok for this action : '+ivalue+' ?'); //this is to
test
}
</script>

I am changing the ivalue to an integer which eventually will access an
array built on the same page but using JSP. How can I pass the ivalue
back to the JSP?

Thank you.
0
Husain
4/14/2008 8:14:56 AM
comp.lang.javascript 38370 articles. 2 followers. javascript4 (1315) is leader. Post Follow

3 Replies
842 Views

Similar Articles

[PageSpeed] 51

"Husain" <husranger@gmail.com>

> I am changing the ivalue to an integer which eventually will access an
> array built on the same page but using JSP. How can I pass the ivalue
> back to the JSP?
>

Not very elegant: store it (as a string) in an invisible element of the 
document. JSP can read it there.
Tom 


0
Tom
4/14/2008 10:15:40 AM
Husain wrote:
> I have a button on a form which goes to a function validate in
> javascript as shown below:
> 
> <input type="button" name="<%= i%>" value="Edit"
> onclick="validate(this.name)">
> 
> The javascript:
> 
> <script language="javascript">

  <script type="text/javascript">

> var Action="";
> function validate(Action){

By good convention, only identifiers referring constructors and constants
should begin with a capital letter.  You should know that one from Java.

> 	var actstring = Action.toString();

The type conversion is unnecessary as the value is a string value already.

> 	ivalue = parseInt(actstring);

Should be:

  ivalue = parseInt(actstring, 10);

But since you are setting the value and not the user, this conversion is
unnecessary as well, at least in this particular code snippet.

> 	return confirm('Ok for this action : '+ivalue+' ?'); //this is to
> test
> }
> </script>
> 
> I am changing the ivalue to an integer which eventually will access an
> array built on the same page but using JSP. How can I pass the ivalue
> back to the JSP?

Suppose you have

  <form action="...">
    ...
    <input type="hidden" name="formaction" value="">
    ...
  </form>

you could write something along

  <form action="..." onsubmit="validate(this)">
    <script type="text/javascript">
      function validate(f)
      {
        var action = arguments.callee.action;
        f.action = action;
        return window.confirm("Ok for this action: ' + action);
      }
    </script>

    <input type="submit" name="foo" value="Foo me!"
      onclick="validate.action = this.name;">
  </form>

But, as I said before in <news:4802A320.9000903@PointedEars.de>, you should use

  <form action="handles_foo_and_bar_submits.jsp" ...>
    ...
    <input type="submit" name="foo" value="Foo me!">
    <input type="submit" name="bar" value="Bar me!">
  </form>

instead, so that your application degrades gracefully.  Since this is not
exactly a new problem, I suggest you read these articles I posted not long ago:

<news:47F03E18.2040702@PointedEars.de>
<news:47F50F52.9060605@PointedEars.de>


A request in advance: *Please trim your quotes to the necessary minimum.*


PointedEars
-- 
Use any version of Microsoft Frontpage to create your site.
(This won't prevent people from viewing your source, but no one
will want to steal it.)
  -- from <http://www.vortex-webdesign.com/help/hidesource.htm>
0
Thomas
4/14/2008 10:34:45 AM
Tom de Neef wrote:
> "Husain" <husranger@gmail.com>
>> I am changing the ivalue to an integer which eventually will access an
>> array built on the same page but using JSP. How can I pass the ivalue
>> back to the JSP?
> 
> Not very elegant: store it (as a string) in an invisible element of the 
> document. JSP can read it there.

Not just any element, but <input type="hidden" ...> in the form to be
submitted.  Else JSP will _not_ get at the value.


PointedEars
-- 
var bugRiddenCrashPronePieceOfJunk = (
    navigator.userAgent.indexOf('MSIE 5') != -1
    && navigator.userAgent.indexOf('Mac') != -1
)  // Plone, register_function.js:16
0
Thomas
4/14/2008 10:36:40 AM
Reply: