Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Duda con event.keyCode

Estas en el tema de Duda con event.keyCode en el foro de Javascript en Foros del Web. Buenas, lo que ocurre es que tengo una caja de texto y quiero que cuando se pulse 'Enter' se llame a una función que ya ...
  #1 (permalink)  
Antiguo 15/03/2016, 13:48
 
Fecha de Ingreso: marzo-2016
Ubicación: Huelva
Mensajes: 5
Antigüedad: 8 años, 1 mes
Puntos: 0
Pregunta Duda con event.keyCode

Buenas, lo que ocurre es que tengo una caja de texto y quiero que cuando se pulse 'Enter' se llame a una función que ya tengo hecha. Dejo aquí el código:

<!DOCTYPE html>
<html lang="es-Es">

<head>

<meta charset="ISO-8859-1">
<title> Login </title>

<!-- Las siguientes 3 líneas van siempre (necesarias para usar Bootstrap) -->

<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"> </script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"> </script>

</head>

<body>

<center> <form>

<p> <input type="text" id="texto" onkeydown="enter(event)"> </p>
<input type="button" value="Aceptar" onclick="verificar()"/>

</form> </center>

<script>

function verificar()
{
if("jprecreativo" == document.getElementById("texto").value)
location.href = "file:///media/jprecreativo/JPUHU/Tercero/DIU/Scroll.html";

else
location.href = "file:///media/jprecreativo/JPUHU/Tercero/DIU/Login.html";
}

</script>

<script>

function enter(event)
{
if (event.keyCode == 13)
verificar();
}

</script>

</body>

Respecto al código, decir que la función verificar me va perfectamente. El problema viene en la función enter: al pulsar enter recarga la página y borra lo que haya puesto en la caja de texto. En cambio, si pruebo con otra tecla, por ejemplo la 27 (escape), entonces si llama a verificar y si está escrito "jprecreativo" se va a la otra página.

Soy nuevo en esto, no llevo ni una semana. A lo mejor mi error es una tontería, pero me gustarían que me ayudaran y que fuesen bastante explícitos en sus explicaciones, ya que me está costando algo de trabajo aprender...

Muchas gracias a todos.
  #2 (permalink)  
Antiguo 15/03/2016, 13:51
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Duda con event.keyCode

AL dar el enter ejecutas el envío del formulario, que es la acción por defecto.

En tu función donde validas si es el enter, deberías detener el evento, con event.preventDefault().

Código Javascript:
Ver original
  1. if (event.keyCode == 13){
  2.    event.preventDefault()
  3.    verificar();
  4. }

Y utiliza el highlight del foro para poder leer tu código.
  #3 (permalink)  
Antiguo 15/03/2016, 13:55
 
Fecha de Ingreso: marzo-2016
Ubicación: Huelva
Mensajes: 5
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Duda con event.keyCode

Vale, gracias por la respuesta tan rápida. Tendré en cuenta lo del highlight para futuras dudas.

Etiquetas: ajax, html, input, js
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 15:15.