Foros del Web » Programando para Internet » Javascript »

Varios Action en un Form

Estas en el tema de Varios Action en un Form en el foro de Javascript en Foros del Web. Hola amigos, Pretendo enviar a dos páginas un mismo form dependiendo del button seleccionado, pero la página no responde a ninguno de ellos. No me ...
  #1 (permalink)  
Antiguo 27/07/2003, 12:00
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 9 meses
Puntos: 2
Varios Action en un Form

Hola amigos,

Pretendo enviar a dos páginas un mismo form dependiendo del button seleccionado, pero la página no responde a ninguno de ellos. No me devuelve ningún error. El código es este:

function enviar1(valor)
{
Form.pagina.value = valor;
document.Form.submit();
}

function enviar2(valor)
{
Form.pagina.value = valor;
Form.action.value = "\"../cgi-bin/pagina2.asp"\";
document.Form.submit);
}

<form method="POST" action="../cgi-bin/pagina1.asp" name="Form">

Salu2.

Última edición por evoarte; 28/07/2003 a las 11:09
  #2 (permalink)  
Antiguo 27/07/2003, 16:50
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 9 meses
Puntos: 2
Incluir 2 action distintos en un form

Hola amigos,

Pretendo enviar a dos páginas un mismo form dependiendo del button seleccionado, pero la página no responde a ninguno de ellos. No me devuelve ningún error. El código es este:

function enviar1(valor)
{
Form.pagina.value = valor;
document.Form.submit();
}

function enviar2(valor)
{
Form.pagina.value = valor;
Form.action.value = "\"../cgi-bin/pagina2.asp"\";
document.Form.submit);
}

<form method="POST" action="../cgi-bin/pagina1.asp" name="Form">

Salu2.

Última edición por evoarte; 28/07/2003 a las 11:09
  #3 (permalink)  
Antiguo 27/07/2003, 23:00
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 5 meses
Puntos: 0
jjee...primera vez que veo una pagina asp dentro de un directorio clasico de cgi..

si estas tratando de enviar a una determinada pagina mediante codigo javascript ..cual es la idea de hacer un post en el form?..que quieres que se gatille?.
  #4 (permalink)  
Antiguo 28/07/2003, 01:41
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Hola!

Prueba a cambiar esta sentencia:

Form.action.value = "\"../cgi-bin/pagina2.asp"\";

Por esta:

Form.action="\"../cgi-bin/pagina2.asp"\";

Otra cosa, supongo que al formulario le habrás dado el ID de form, para que sea más compatible tu código te recomiendo poner todas las referencias al mismo así:

document.getElementById("Form")

quedando, por ejemplo lo que pones así:

document.getElementById("Form").action="\"../cgi-bin/pagina2.asp"\";

Aunque si quieres más compatibilidad, javascript hace automáticamente una matriz con todos los formularios de una página, por lo que si sólo tienes un formulario este será el 0 (recuerda que JS comienza a contar por el 0). Así que para referirte a tu formulario podrías usar:

document.forms[0]

Así, al referirte a tu formulario Form podrías hacer:

document.forms[0].action="\"../cgi-bin/pagina2.asp"\";

haciendo este código compatible con el tan temido NS 4.7 que aún decora algún ordenador.

Por cierto, al segundo submit le falta un paréntesis.


Dime si el cambio propuesto (quitar el value del action funciona). El resto son sugerencias!

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 28/07/2003, 10:14
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
igual es un tema de javascrtipt, no de ASP.
__________________
...___...
  #6 (permalink)  
Antiguo 28/07/2003, 10:53
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 9 meses
Puntos: 2
Voy a ir haciendo pruebas

Buenas Tardes,

He dejado el código así, y no funciona, es decir, la página no responde a los button (s):

function enviar1(valor)
{
Form.pagina.value = valor;
Form.action = \""../cgi-bin/pagina1.asp"\";
document.Form.submit();
}

function enviar2(valor)
{
Form.pagina.value = valor;
Form.action = \""../cgi-bin/pagina2.asp"\";
document.Form.submit();
}

Salu2. ¡ Voy a seguir probando tus sugerencias !. Gracias.

Última edición por evoarte; 28/07/2003 a las 11:06
  #7 (permalink)  
Antiguo 28/07/2003, 11:03
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 9 meses
Puntos: 2
Continación

He dejado el action del form así action="" (También para el caso anterior). He probado a referenciar de forma distinta (aunque esto debe ser indiferente para el form) e igual, siguen los button(s) sin respuesta:

<form method="POST" action="" name="Form">


function enviar1(valor)
{
Form.pagina.value = valor;
document.forms[0].action = "\"../cgi-bin/pagina1.asp"\";
document.Form.submit();
}

function enviar2(valor)
{
Form.pagina.value = valor;
document.forms[0].action = "\"../cgi-bin/pagina2.asp"\";
document.Form.submit();
}

Salu2. Os tomais en serio la duplicidad. Lo entiendo ...

Última edición por evoarte; 28/07/2003 a las 11:11
  #8 (permalink)  
Antiguo 28/07/2003, 11:04
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Unidos los dos posts que estaban duplicados
  #9 (permalink)  
Antiguo 29/07/2003, 11:00
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 9 meses
Puntos: 2
No doy con la solución

Buenas Tardes,

No encuentro la solución para este problema, si insisto es porque me resulta imprescindible.

Salu2.
  #10 (permalink)  
Antiguo 29/07/2003, 11:05
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Prueba a ver si así le gusta


<input type="button" value="enviar" onclick="this.form.action='../cgi-bin/pagina1.asp';this.form.submit()">

<input type="button" value="dele nomás" onclick="this.form.action='../cgi-bin/pagina2.asp';this.form.submit()">

  #11 (permalink)  
Antiguo 29/07/2003, 16:48
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Lo que veo desde el principio es que estas usando Form.action.value = "..." para cambiar el action del formulario y debería ser Form.action = "...".

No se si ya resolviste, pero eso está muy raro.

Saludos.
  #12 (permalink)  
Antiguo 30/07/2003, 11:55
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 9 meses
Puntos: 2
Busqueda Sigue Igual ... Socorro

Siento este retraso, pero estaba en otras ...

Nada, no responde, no hace nada, sencillamente el button no responde.

Os muestro el código completo del input:

Response.Write("<input type='button' value='Siguiente' name='B1' onclick='this.form.action='../cgi-bin/pagina1.asp';this.form.pagina.value="+PaginaActual S+";this.form.submit()' style='color: #808000; background-color: #BEDCDC; font-family: Verdana; font-size: 10 px; border: 1 solid #DAA520;'>");

Salu2.
  #13 (permalink)  
Antiguo 30/07/2003, 12:24
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Tienes mal la sintaxis asp lo que provoca un resultado javascript con errores también de sintaxis

prueba así

Response.Write("<input type=""button"" value=""Siguiente"" name=""B1"" onclick=""this.form.action='../cgi-bin/pagina1.asp';this.form.pagina.value=PaginaActualS; this.form.submit()"" style=""color: #808000; background-color: #BEDCDC; font-family: Verdana; font-size: 10 px; border: 1 solid #DAA520;"">")

te devolverá esto

<input type="button" value="Siguiente" name="B1" onclick="this.form.action='../cgi-bin/pagina1.asp';this.form.pagina.value=PaginaActualS;this.form.submit()" style="color: #808000; background-color: #BEDCDC; font-family: Verdana; font-size: 10 px; border: 1 solid #DAA520;">

supongo que PaginaActualS será una variable javascript ¿no?
  #14 (permalink)  
Antiguo 30/07/2003, 12:44
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 9 meses
Puntos: 2
Hola,

No entiendo la duplicidad de dobles comillas que estas realizando, en otras ocasiones he utilizado la misma forma de trabajar y no he tenido problemas.

He comprado el código html que genero y no veo nada raro.

Salu2.
  #15 (permalink)  
Antiguo 30/07/2003, 13:18
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
ok. Yo yá te dí la solución

Pero tu problema yá no es javascript, es al escribir javascript con asp y vbscript.
  #16 (permalink)  
Antiguo 03/08/2003, 12:45
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 9 meses
Puntos: 2
Buenas Tardes,

He copiado el input que genera el código en una página y me devuelve error de sintaxis. Pero no doy con el error:

<input type="button" value="Siguiente" name="B1" onClick="this.form.pagina.value=2;this.form.action ="cgi-bin/pagina.asp";this.form.submit();" style="color: #808000; background-color: #BEDCDC; font-family: Verdana; font-size: 10 px; border: 1 solid #DAA520;">

¿ Qué tal si lo revisamos entre todos, no lo veo ?
  #17 (permalink)  
Antiguo 03/08/2003, 13:15
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Tu problema son las comillas.

no puedes meter comillas dobles dentro de comillas dobles.

Mira que eres cabezota que te dí la forma de escribirlo desde asp y porque no entiendes lo de poner dos comillas dobles no lo usas.

Tu problema ahora es de asp para lograr qiue te escriba la sintaxis javascript correctamente.

Ahora si vas al foro de asp te encontrarás con la misma respuesta que te di yo.

Si quieres traslado tu pregunta a ese foro.
  #18 (permalink)  
Antiguo 03/08/2003, 13:36
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 9 meses
Puntos: 2
Hola Amiga,

Escribiendo Response.Write("<input .... todo esto con comilla simple>");

Me genera el código html idéntico al anterior pero con comillas simples, y me devuelve también error de sintaxis.

¿ Por qué no me lo explicas ? Porque aparentemente el código html es correcto.

He comprobado que si le quito el evento onClick el error de sintaxis ya no se genera.

Salu2.

Edito el mensaje, por que me olvidaba lo mas importante, muy cabezota, extremo.

Última edición por evoarte; 03/08/2003 a las 13:39
  #19 (permalink)  
Antiguo 03/08/2003, 14:09
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Mira, el código que se genera es "casi" igual, pero no lo suficiente.


<input type="button" value="Siguiente" name="B1" onclick="this.form.action='../cgi-bin/pagina1.asp';this.form.pagina.value=PaginaActualS;this.form.su bmit()" style="color: #808000; background-color: #BEDCDC; font-family: Verdana; font-size: 10 px; border: 1 solid #DAA520;">

Ese es el que te dejé en el ptrp mensaje. Fíjate en lo que está en rojo.

Y este otro es el que te sale a tí

<input type="button" value="Siguiente" name="B1" onClick="this.form.pagina.value=2;this.form.action ="cgi-bin/pagina.asp";this.form.submit();" style="color: #808000; background-color: #BEDCDC; font-family: Verdana; font-size: 10 px; border: 1 solid #DAA520;">

La primera comilla doble que te señalo en rojo lo que hace es cerrar la anterior por lo que se cree que ahí termina la sentencia javascript y obviamente no está completa y te da error de sintaxis.

Ahí deben ir comillas simples
  #20 (permalink)  
Antiguo 03/08/2003, 15:12
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 9 meses
Puntos: 2
Lo he dejado así:

Response.Write("<input type="button" value="Anterior" name="A1" onClick="this.form.action='cgi-bin/pagina.asp';this.form.pagina.value=2;this.form.sub mit();" style="color: #808000; background-color: #BEDCDC; font-family: Verdana; font-size: 10 px; border: 1 solid #DAA520;">");

Y ahora, por fin, me devuelve el seguiente error:

Error de compilación de Microsoft JScript error '800a03ee'

Se esperaba ')'

/cgi-bin/pagina.asp, line 215

Response.Write("<input type="b utton" value="Anterior" name="A1" onClick="this.form.action='cgi-bin/pagina.asp';this.form.pagina.value=2;this.form.sub mit();" style="color: #808000; background-color: #BEDCDC; font-family: Verdana; font-size: 10 px; border: 1 solid #DAA520;">");

Hasta ahora, cuando utilizaba Response.Write, abría y cerraba con ", y todo el contenido lo delimitaba con '.

¡ Alguna sugerencia !.
Salu2.
  #21 (permalink)  
Antiguo 03/08/2003, 15:30
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 9 meses
Puntos: 2
Ya ... Me he tomado mi tiempo !!

Lo he dejado así y funciona:

Response.Write("<input type=\"button\" value=\"Anterior\" name=\"A1\" onClick=\"this.form.action='../cgi-bin/pagina.asp';this.form.pagina.value="+PaginaActualA +";this.form.submit();\" style=\"color: #808000; background-color: #BEDCDC; font-family: Verdana; font-size: 10 px; border: 1 solid #DAA520;\">");

Tu si que tienes paciencia.

Salu2.
  #22 (permalink)  
Antiguo 04/08/2003, 07:28
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Vale, el poner la barra invertida delante de las comillas también está bien. El resultado es idéntico a su usas dos comillas dobles como te sugerí al principio.

Lo que no me queda claro es si ahora te funciona o no
Cita:
Tu si que tienes paciencia.
¿Yo? qué va... me queda muy poca ya...
  #23 (permalink)  
Antiguo 04/08/2003, 10:56
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 9 meses
Puntos: 2
Te confirmo que sí funciona

Buenas Tardes,

Ahora funciona, lo utilizo para disponer de un button anterior y siguiente, así como un button para ver el contenido del carrito, en una página que muestra un catálogo.

Arriba que es Agosto. Y el veranito ya llego.

Salu2.
  #24 (permalink)  
Antiguo 04/08/2003, 10:59
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Bueeno me alegro

además queda bonito que hayas celebrado tu mensaje número 100 con un Te confirmo que sí funciona

Un saludo
  #25 (permalink)  
Antiguo 04/08/2003, 11:12
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 9 meses
Puntos: 2
Esta es la verificación ...

Yo en cambio te envío dos.

Salu2.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:30.