Foros del Web » Programando para Internet » Javascript »

Redirigir con checkbox

Estas en el tema de Redirigir con checkbox en el foro de Javascript en Foros del Web. Hola a todos, El caso es que quiero crear un formulario con un checkbox. Si este esta selecionado al pulsar el button me llevará a ...
  #1 (permalink)  
Antiguo 29/12/2011, 04:47
 
Fecha de Ingreso: diciembre-2011
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Redirigir con checkbox

Hola a todos,

El caso es que quiero crear un formulario con un checkbox.
Si este esta selecionado al pulsar el button me llevará a una URL
Si no esta seleccionado a otra.

En mi codigo, cuando el checkbox esta seleccionado te reenvia a google.
Cuando no a facebook.

Sin embargo cuando esta seleccionado me envia a : checkbox.html?iagree=on&validation=send
Y cuando no: checkbox.html?validation=send


Aquí está el código que he utilizado:

<html>
<head>
<script type="text/javascript">

function AuthorizeValidation(myform) {

if(myform.iagree.checked == true) {Response.Redirect("http://www.google.com")}

if(myform.iagree.checked == false) {location="http://www.facebook.com"}

}

</script>

</head>
<body>
<form action="" methed="post" name="myform">

<p><input type="checkbox" name="iagree"/> Click to go to google</p>

<p><input type="submit" name="validation" onClick="AuthorizeValidation(this.form)" value="send"/></p>
</body>
</form>
</html>

Gracias por su ayuda y un saludo muy grande
  #2 (permalink)  
Antiguo 29/12/2011, 09:05
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Redirigir con checkbox

Hola:

En mi opinión, sería mejor un rediccionamiento con ealgún lenguaje del servidor, pero sea como sea, es mejor programar el evento submit... y cancelarlo si redireccionas con Ajax.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 29/12/2011, 09:24
 
Fecha de Ingreso: diciembre-2011
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Redirigir con checkbox

No entiendo a que te refieres! podrias detallarmelo un poco mas?? soy novato en esto!!

Muchas gracias
  #4 (permalink)  
Antiguo 29/12/2011, 09:39
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Redirigir con checkbox

Hola:

Un ejemplo de redirección con php...

El form, con action="ir.php"

Y el código php:

<?php
$ir = (isset($_POST["iagree"])) ? "http://www.google.com":"http://www.facebook.com";
header("Location: $ir");
?>

Y con javascript:

<form action="ir.php" onsubmit="return ir(this)" ...>
...

function ir(f) {
url = (f.iagree.checked) ? "http://www.google.com": "http://www.facebook.com";
location.href = url;
return false;
}

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 29/12/2011, 10:13
 
Fecha de Ingreso: diciembre-2011
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Redirigir con checkbox

Hola de nuevo,

En primer lugar gracias por tu ayuda.
He intentado adaptar tu codigo al tuyo pero me ocurre exactamente lo mismo que en mi codigo, me reenvia a las mismas paginas.

Cual puede ser el error?


Gracias y un saludo
  #6 (permalink)  
Antiguo 29/12/2011, 12:17
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Redirigir con checkbox

Hola:

No entiendo... yo puse las páginas que has definido tú en tu mensaje... irá a las páginas que definas.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 29/12/2011, 13:04
 
Fecha de Ingreso: diciembre-2011
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Redirigir con checkbox

Me he expresado mal lo siento... el caso es que de la forma que me lo has planteado (tanto js como en php) me continua pasando los mismo. Me reenvias a las URL's que te comentaba en el primer mensaje.

Gracias por su ayuda
  #8 (permalink)  
Antiguo 29/12/2011, 13:20
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Redirigir con checkbox

Hola:

Con el action que tienes, enlaza a la misma página que hace submit (checkbox.html), y los checkboxes se envían así... si están chequeados se envía la variable y si no está chequeado la variable no se envía... para que no se envía se poner return false en el evento (onsubmit="return false"), pero si hay error el envío se hace sí o sí, con los valores que te comenté antes.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #9 (permalink)  
Antiguo 30/12/2011, 15:04
 
Fecha de Ingreso: diciembre-2011
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Redirigir con checkbox

Hola de nuevo,

Mira finalmente he modificado el codigo y consigo redireccionar como queria.
El caso es que solo me funcion si abro una nueva ventana, es decir:

Con window.open(url); funciona OK.
Con window.location (url); No funciona.


Como ya no sabia que probar, he hecho que la funcion js devuelva el valor var.
Entonces al crear el form llamo a la funcion en action:

<form method="post" name="myform" action="return ir(myform);">

Pero no interpreta el valor simplemente me renvia a ..../return ir(myform);

Aquí le dejo el código:

<html>
<head>

<script type="text/javascript">

function ir(f) {
var url = (f.iagree.checked) ? "http://www.google.com": "http://www.facebook.com";
//alert("Hello! I am an alert box!!");
//document.write(url);
//window.location (url);
//window.open(url);

//location.replace(url);

return url;
}

</script>
</head>


<!-- action = '(url)'-->
<body>
<form method="post" name="myform" action="return ir(myform);">

<p><input type="checkbox" name="iagree"/> Click to go to google</p>

<p>ir(myform);</p>
<p><input type="submit" name="validation" value="send"/></p>
</body>
</form>
</html>


Muchas gracias por su ayuda
  #10 (permalink)  
Antiguo 30/12/2011, 16:32
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Redirigir con checkbox

Hola:

Estoy comprobando que no haces bien lo que te he explicado... en un action solo debería haber una url... y si quisieses poner un script debería anteponer el protocolo javascript:; así que es eso lo que hace...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #11 (permalink)  
Antiguo 30/12/2011, 16:45
 
Fecha de Ingreso: diciembre-2011
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Redirigir con checkbox

Entonces que debo cambiar exactamente del codigo? esque estoy algo confuso. slaudos y gracias de verdad.
  #12 (permalink)  
Antiguo 30/12/2011, 16:53
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Redirigir con checkbox

Hola:

Cita:
Iniciado por caricatos Ver Mensaje
Y con javascript:

<form action="ir.php" onsubmit="return ir(this)" ...>
...

function ir(f) {
url = (f.iagree.checked) ? "http://www.google.com": "http://www.facebook.com";
location.href = url;
return false;
}
Como siempre recomiendo, no está bien depender de javascript porque se puede desactivar.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: checkbox, formulario, html, input, redirigir
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 10:00.