style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Variables entre JavaScript y JSP

Hola, tengo una duda, que espero corresponda a este foro. Desarrollo un sistema en JSP, e cual mezclé HTML con JavaScript y JSP. Quiero pasar una variable que capturé en JavaScript a Java. Les escribo el código:

var i = document.forma1.parametro.value;
alert(i); //Solo lo hice para comprobar que realmente obtenga el valor de parametro que es una caja de entrada de texto

Y lo que quiero es:
<%String x =%> i

Ya comprobé demasiado que no se puede por que JavaScript se ejecuta del lado del cliente y Java del lado del servidor. De qué manera puedo obtener el valor de i y pasarlo al código de Java?

Se los ruego por favor! ayuda! :(

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Porque JavaScript se ejecuta

Porque JavaScript se ejecuta del lado del cliente y Java del lado del servidor

Exactamente eso es lo que te iba a contestar. Simplemente no puedes porque la respuesta ya llego al cliente y el código que se ejecuta en el servidor ya esta terminado.

Lo que puedes hacer ( si lo que pretendes es escribir HTML dinámicamente ) es escribir directamente en el objeto document de javascript, que representa la página en la que estás. Eso es precisamente lo que hacen todos esos maravillosos frameworks de Javascript, escribir un montón de HTML al document. O puedes aprovechar la disyuntiva y usar alguno de ellos.

Por ejemplo ( y por favor que alguien me corrija aquí porque seguramente lo voy a hacer mal. ) se podría hacer algo como esto:

<html>
   <head>
         <script language="javascript">
             function una() {
                 var i = document.forma1.parametro.value;
             }
    </script>
   </head>
    <body>
      .
      <form name="forma1">etc,etc</form>
      .
    <div id="x" />
    <script language="javascript">
         function otra() {

            var x= document.getElementById('x');
            x..innerHTML = '...el nuevo html va aqui , por ejemplo el valor de i es' + i;
         }
    </script>
</html>

Te recomiendo que investigues como usar jQuery que hace de este tipo de cosas algo facilísimo.

Suerte

Así es, en eso estoy

Claro que si, después de mil pruebas :) lo entendí... pero sabes, tengo este problema.Tengo un formulario en código HTML parecido a esto:
Sustituí los < y > por ( y ) Soy nuevo en el foro :P
(form name="forma1" method="POST")
(input name="entrada" type="text")
(/form)

Y ahora, se dice por la web y con el profeta Google que esto es correcto y válido:

function uno(){
<%
String var = request.getParameter("entrada"); //Entrada es la forma del textbox de entrada en HTML
}

Según esto está bien, y ya dejo en paz a JavaScript... Creo que me salí del tema original, pero si tienes una respuesta a esto te lo agradecería, si no, no hay problema :) Lo que escribiste me ayudo a corregir algunos errores que tenía :P

Intenta escribir tu código

Intenta escribir tu código entre &ltcode> y </code> para que puedas escribir los tags de HTML porque no se entendío mucho lo que escribiste.

Yo opino que

Yo lo manejo con hiddens

<script>
function envia(z){
form = document.getElementById("formulario");
form.parametro1.value = z;
form.submit();

}
</script>
<form   id="formulario"   >
       < input type="hidden" id ="parametro1">
            <table>
                <tr>
                    <td>
                      <input type="button" onclick="javaScript:envia('x');">
                       
                    </td>
                </tr>
            </table>
        </html:form>

y del lado del servidor lo puedes recuoperar con un

String valor = request.getParameter("parametro1");
Imagen de ingscjoshua

ammmmm

Ok veamos, tiene rato que ya no hago java jaja XD, pero si no mal recuerdo.

1. ¿Quieres someter lo que capturas en js para que lo proceses java del lado del server?
Si es asi tendrias que someter el formulario y recargarlo, por lo que yo te recomendaria hacerlo con ajax, con cualquier fabuloso framework de JS como Jquery, extjs o JS puro que ya no se estila por lo complejo que es hacerlo.

Imagen de benek

Igual y llego tarde pero

Igual y llego tarde pero también lo podrías lograr muy fácilmente con DWR, que te permite hacer invocaciones con paso de parámetros entre javaScript y Java.

http://directwebremoting.org/dwr/index.html

http://directwebremoting.org/dwr-demo/simple/text.html

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">