Ver Mensaje Individual
  #5 (permalink)  
Antiguo 28/12/2003, 21:23
Avatar de sci-fi
sci-fi
 
Fecha de Ingreso: marzo-2002
Mensajes: 157
Antigüedad: 22 años, 2 meses
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