Foros del Web » Programando para Internet » Javascript »

Envio de variables desde boton

Estas en el tema de Envio de variables desde boton en el foro de Javascript en Foros del Web. Hola a todos! es posible enviar una variable a traves del evento onclick de un boton de formulario, el asunto es el siguiente, tengo un ...
  #1 (permalink)  
Antiguo 17/09/2009, 07:27
 
Fecha de Ingreso: abril-2008
Mensajes: 435
Antigüedad: 16 años, 8 meses
Puntos: 10
Envio de variables desde boton

Hola a todos!
es posible enviar una variable a traves del evento onclick de un boton de formulario, el asunto es el siguiente, tengo un formulario y tengo dos formas distintas de enviarlo, una es a traves de un boton de imagen del formulario y la otra es a traves del evento onchange de un campo select, necesito diferenciar desde donde se envian. espero haber sido claro

saludos
  #2 (permalink)  
Antiguo 17/09/2009, 09:16
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 10 meses
Puntos: 772
Respuesta: Envio de variables desde boton

Hola Adell

A ver si te sirve esto:

Código javascript:
Ver original
  1. <form action="pagina.php">
  2. <select onchange="this.form.action+='?var=algo'">

Saludos,
  #3 (permalink)  
Antiguo 17/09/2009, 10:14
 
Fecha de Ingreso: abril-2008
Mensajes: 435
Antigüedad: 16 años, 8 meses
Puntos: 10
Respuesta: Envio de variables desde boton

yo estoy usando algo asi

Código HTML:
<select name="ser" onchange="document.forms[0].submit()+='?var=algo'"> 
ahora como esta enviando la variable, usa el metodo post del formulario? porque si es asi no me llega
como puedo hacer para levantar la variable desde php cuando envia el formulario y recarga la pagina?

saludos
  #4 (permalink)  
Antiguo 17/09/2009, 11:09
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 8 meses
Puntos: 1485
Respuesta: Envio de variables desde boton

la forma que lo haria es teniendo un input hidden y ahi guardas la variable cuando se envie el formulario. no vale, o al menos en mi experiencia, poner la variable en la parte search de la URL en el action porque el navegador lo ignora.

por si las dudas, la seccion search de una URL son los pares name/value, o sea como ejemplo online.php?s=&sortfield=time&sortorder=desc&pp=100. al menos yo le llamo asi debido a la propiedad location.search.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 17/09/2009, 11:27
 
Fecha de Ingreso: abril-2008
Mensajes: 435
Antigüedad: 16 años, 8 meses
Puntos: 10
Respuesta: Envio de variables desde boton

gracias zerokilled por tu respuesta, el problema es que no puedo usar un input hidden porque el formulario se puede enviar desde dos lugares distintos, o sea se puede enviar desde un submit como tambien desde el atributo onchange de un campo select, lo que necesito hacer es detectar desde donde esta enviando el formulario si desde el submit o desde el select

saludos
  #6 (permalink)  
Antiguo 17/09/2009, 11:39
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 8 meses
Puntos: 839
Respuesta: Envio de variables desde boton

Yo también opino que es mejor usar un campo hidden. Lo único que debes hacer es cambiarle su valor en el evento onchange del select antes de enviar el formulario. Así tendrá un valor diferente dependiendo de cómo se envíe.

Saludos.
Cita:
Iniciado por zerokilled Ver Mensaje
no vale, o al menos en mi experiencia, poner la variable en la parte search de la URL en el action porque el navegador lo ignora.
P.S.: Depende del método con que se envíe el formulario.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 17/09/2009, 11:46
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 8 meses
Puntos: 1485
Respuesta: Envio de variables desde boton

@Adell,
con eso no creo que habra problema. puedes usar el evento onsubmit para que agregue el valor al input hidden, y funcionara independientemente desde donde se esta enviando el formulario, si desde el select o desde el boton input submit.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #8 (permalink)  
Antiguo 17/09/2009, 12:36
 
Fecha de Ingreso: abril-2008
Mensajes: 435
Antigüedad: 16 años, 8 meses
Puntos: 10
Respuesta: Envio de variables desde boton

Gracias por sus respuestas

Cita:
Iniciado por zerokilled Ver Mensaje
@Adell,
con eso no creo que habra problema. puedes usar el evento onsubmit para que agregue el valor al input hidden, y funcionara independientemente desde donde se esta enviando el formulario, si desde el select o desde el boton input submit.
peor no estaria pasando lo mismo? porque el evento onsubmit se va a activar desde cualquier lugar que se envie el formulario, yo justamente lo uqe necesito es diferenciar de alguna forma desde donde se envio el formulario, o sea si se envio desde el select o si se envio presionando el boton del formulario

saludos
  #9 (permalink)  
Antiguo 18/09/2009, 18:23
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 8 meses
Puntos: 1485
Respuesta: Envio de variables desde boton

he aqui una opcion que se me ocurre sin usar el input hidden.
Código:
<form ... >
...
<select onchange="this.form.boton.value = 'select'; /* resto de tu codigo para enviar formulario, como ejemplo this.form.submit();*/">
...
</select>
<input type="submit" name="boton" value="enviar" />
</form>
en el servidor, recibiras el query boton con uno de los dos valores: enviar o select y te dejas llevar por esos valores para identificar que control se utilizo para el envio. es practicamente lo mismo con el input hidden, lo unico que en lugar asignar el valor en el boton submit, ambos controles tienen que escribir un valor al input hidden.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
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 19:54.