Foros del Web » Programando para Internet » Javascript »

Redireccionar desde form

Estas en el tema de Redireccionar desde form en el foro de Javascript en Foros del Web. Buenas. Quería saber como puede hacer para redireccionar un texto que metan en un form, hacia una dirección url, es decir... Que se escriba en ...
  #1 (permalink)  
Antiguo 28/12/2003, 08:15
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Redireccionar desde form

Buenas.

Quería saber como puede hacer para redireccionar un texto que metan en un form, hacia una dirección url, es decir... Que se escriba en un campo por ejejmplo 'barco de vapor', y al darle al botón de enviar, vaya a http://buscar.sitio.com/barco de vapor, por ejemplo.

He probado varias cosas con el onclick, pero no llego a hacerlo funcionar :p.

Saludos.
__________________
(:
  #2 (permalink)  
Antiguo 28/12/2003, 14:04
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, BoNeZ.

¿Te serviría esto?

<form>
<input type="text" id="url" />
<input type="button" onclick="document.location.href='http://buscar.sitio.com/'+document.getElementById('url').value" />
</form>

Saludos y Feliz Año.
  #3 (permalink)  
Antiguo 28/12/2003, 15:17
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Hola JavierB.
Pues, lo he probado, y lo que hace es ir a la página en la que estoy y le añade una '?' al final nada mas :/.

He probado a ponerlo tal cual lo has puesto tú, y pasa lo mismo :p.
__________________
(:
  #4 (permalink)  
Antiguo 28/12/2003, 15:51
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Ahora probando, he conseguido que funcione, pero solo al hacer click con el mouse en el botón . Es decir, al apretar enter no funciona :p.
__________________
(:
  #5 (permalink)  
Antiguo 28/12/2003, 21:23
Avatar de sci-fi  
Fecha de Ingreso: marzo-2002
Mensajes: 157
Antigüedad: 22 años, 1 mes
Puntos: 0
hola,

eso se debe a que el evento que definiste es el onClick sobre el botón. Para que también dispare con el ENTER hay que agregarle un evento onSubmit al formulario, en la etiqueta <form>. Porque el ENTER se aplica por defecto en todos los browsers al enviar un formulario, no al apretar un botón, es decir que el onClick no llama nunca al ENTER en un form, aunque sea sobre el botón de tipo submit.

Estaría bueno definir una función en la página dentro un script para no repetir código en los event handlers, si queres tener el onClick en el botón y el onSubmit en el form.

//esta función toma como argumento
// la cadena que introdujo el usuario
// en el campo de texto

function searchKeywords(userInput) {
window.location = 'http://bla.bla/' + userInput;
return false;
}

Y después en el html:

<form etc etc onSubmit="return searchKeywords(this['userInput'].value);">

Lo que pasa es que esto no hace encoding de las palabras ingresadas en el formulario para pasarlas al URL. Puede funcionar en el IE pero no en otros browsers. Para la cuestión del encoding, ver este link... . Para darte una idea, por ej. las palabras:

"algo para el ñandú"

quedarían como esto en el URL:

"alg%F3%20para%20el%20%F1and%FA"

saludos
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 22:46.