Página 1 de 1

Formulario web y variables

Publicado: 28 Abr 2011, 10:04
por basset
Hola amigos,
os pido ayuda con algo que no encuentro.

Tengo en una página hecha con varios componentes, dos formularios, con el segundo, no consigo manejar el contenido de una variable global tipo web.

Código: Seleccionar todo

<form method="GET" name="llistat" action="javascript:location.href=('PRODUCTES-LLISTATS.PRO?ID_SESION=blablabla...')
...
<input name="W-TIPUSL" type="text" size="1" value="1" onchange="alerta(#AVP$W-TIPUSL$)"/>
...
Cuando introduzco un valor en la caja de texto, el "alert" me devuelve "0".

No encuentro que estoy haciendo mal, por favor echadme una mano...


¡Un millón de gracias!

Publicado: 28 Abr 2011, 10:44
por Francisco Hoyos
No soy experto en la materia y posiblemente diga una barbaridad... pero ... no tendrá que ver el hecho de usar el método GET en vez de usar el POST.

Yo lo probaría... al menos hasta que digan algo los expertos...

Un saludo.

Publicado: 28 Abr 2011, 11:04
por basset
Gracias por contestarme Francisco,

Ya he probado el método POST, y no me envia el contenido de la variable.

Lo extraño es que no consigo cambiarle el contenido a la variable con el INPUT...
:?

Publicado: 28 Abr 2011, 11:56
por Francisco Hoyos
La otra opción que se me ocurre es que puedas estar concatenando sintácticamente mal el contenido de "alerta". Me refiero a que parece que faltan algunas comillas (/c).

De todas formas, es mejor que te lo aclare un experto en la materia.

Un saludo.

Publicado: 28 Abr 2011, 13:25
por filipeagg
Como dice Francisco, pienso que los tiros van por aí.

En caso de que la variable en velneo sea alfabetica el codigo deberia ser:

Código: Seleccionar todo

<input name="W-TIPUSL" type="text" size="1" value="1" onchange="alerta('#AVP$W-TIPUSL$')"/> 

Publicado: 28 Abr 2011, 15:30
por basset
Gracias chicos, por contestarme.

El problema que tengo viene porque tengo un formulario que rellena y lanza una búsqueda que genera una página, y yo quiero que, dentro de este formulario, pueda lanzar un proceso que se "lleve" las variables ya rellenas y así, usando los mismos filtros, conseguir la misma información para listar por impresora.

Código: Seleccionar todo

<form ...action="busqueda.bus"
       <input  ...filtro 1  name="FILTRO1" />
       <input  ...filtro 2   name="FILTRO2"/>
                              ....  
        <a href="PROCESO.PRO?FILTRO1=#AVP$FILTRO1$&FILTRO2=#AVP$FILTRO2$">Listado</a>  (¿algo parecido a esto puede ser?)
 
           <input type="button"  value="Listado"  onclick="javascript:window.location='PROCESO.PRO??FILTRO1=#AVP$FILTRO1$&FILTRO2=#AVP$FILTRO2$'"/>  (¿o como esto?)

      <input type="submit"...
</form>
Si se os ocurre alguna idea os lo agradecería muchísimo porque estoy atascado con esto.


Saludos.

Publicado: 28 Abr 2011, 15:49
por filipeagg
Esas variables em velneo no estan acesibles, pues velneo es un lenguaje de servidor, y el usuario rellena esas variables en el lado del cliente.

Lo que tienes que hacer es cuando rellenas esta url:

Código: Seleccionar todo

 PROCESO.PRO?FILTRO1=#AVP$FILTRO1$&FILTRO2=#AVP$FILTRO2$
aceder con javascript a los valores de los campos input.

Suponiendo que el formulario fuera así:

Código: Seleccionar todo

<form name="formulario" method="GET" action="busqueda.bus" 
       <input type="text" name="FILTRO1" /> 
       <input type="text"  name="FILTRO2"/> 
 </form>      
el codigo javascript seria:

Código: Seleccionar todo

filtro1=document.formulario.FILTRO1.value;
filtro2=document.formulario.FILTRO2.value;
url="PROCESO.PRO?FILTRO1='"+filtro1+"'&FILTRO2='"+filtro2+"'";
window.open(url); 

Publicado: 28 Abr 2011, 16:11
por basset
Filipe,
y con este script:

Código: Seleccionar todo

filtro1=document.formulario.FILTRO1.value;
filtro2=document.formulario.FILTRO2.value;
url="PROCESO.PRO?FILTRO1='"+filtro1+"'&FILTRO2='"+filtro2+"'";
window.open(url); 
¿puedo montar un <a href=... 'url'> ? ¿ o un <input> que lance 'url'?
¿y ha de estar dentro del FORM?




¡ Gracias por tu inmensa paciencia y tiempo Filipe !

Publicado: 03 May 2011, 22:41
por filipeagg
Disculpa el retraso en la respuesta, pero no tengo entrado en el forum:

tienes que hacerlos con un evento de javascript que seria así:

Código: Seleccionar todo

<form name="formulario" method="GET" onSubmit="return submit_form();" >
       <input type="text" name="FILTRO1" /> 
       <input type="text"  name="FILTRO2"/>
       <input type="submit"  value="filtrar"/> 
 </form> 
Y entre las etiquetas

Código: Seleccionar todo

<head
> del html:

Código: Seleccionar todo

<script type="application/javascript">
function submit_form()
{
    filtro1=document.formulario.FILTRO1.value; 
    filtro2=document.formulario.FILTRO2.value; 
    url="PROCESO.PRO?FILTRO1='"+filtro1+"'&FILTRO2='"+filtro2+"'"; 
   window.open(url, '_self'); 
   return false;
}
    </script>
o sea el código de la pagina completa quedaría así:

Código: Seleccionar todo

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
  "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
    <title>Address book</title>
<script type="application/javascript"> 
function submit_form() 
{ 
    filtro1=document.formulario.FILTRO1.value; 
    filtro2=document.formulario.FILTRO2.value; 
    url="PROCESO.PRO?FILTRO1='"+filtro1+"'&FILTRO2='"+filtro2+"'"; 
   window.open(url, '_self'); 
   return false; 
} 
    </script>
  </head>
  <body id='updateTarget'>
    <form name="formulario" method="GET" onSubmit="return submit_form();" > 
       <input type="text" name="FILTRO1" /> 
       <input type="text"  name="FILTRO2"/> 
       <input type="submit"  value="filtrar"/> 
 </form>
  </body>
</html>

Publicado: 04 May 2011, 08:28
por basset
Ya no sé como pagarte tanto favor Filipe, !eres una máquina!

Mientras me respondías, con las "pistas" que me habías dado, conseguí montarlo y ponerlo en marcha de la misma manera que tú me explicas después.

Se trataba de un <input> dentro del <form> pero con una acción diferente y necesitaba "llevarme" los valores de las variables del <form>.


Te repito mi agradecimiento por tu tiempo y "solidaridad".

Saludos!!