2011-05-09 30 views
7

Estoy tratando de hacer mi propio chat ... así que tengo un campo de texto de entrada, el botón de enviar, ni siquiera es enviar, es solo un botón .... así que cuando se presiona la tecla enter, necesito el valor del campo de entrada para que aparezca en mi área de texto (que es de solo lectura) ...¿Cómo uso la tecla Intro como manejador de eventos (javascript)?

bien mirad .. resumir, solo quiero un gestor básico de eventos de la tecla enter, sé que funciona perfectamente con los botones de envío, ya que no es necesario programar nada en absoluto, es el predeterminado. pero mi botón es type = "button" ... así que cuando presionas enter no pasa nada ... ¿Cómo disparo mi botón presionando Enter?

+1

Revisa este hilo: http://stackoverflow.com/questions/155188/trigger-button-click-with-javascript-on-enter-key-in-text-box – keyboardP

+0

En una forma, un elemento de botón es una botón de enviar por defecto. Si configura la entrada en un formulario y utiliza un envío normal, debería poder hacer que todo funcione sin ningún script. Luego puede agregar un escucha onsubmit cuando la página se carga para reemplazar el envío con XHR. Ahora tiene una página de chat que funciona con o sin JS y tiene una excelente alternativa. – RobG

+0

¿Cuál es XHR, el problema con hacer que sea un botón de envío, es que cuando se presiona el botón, la página tiene que actualizar cada vez que se envía un mensaje de chat, lo tengo todo funcionando con AJAX y todo, base de datos MySQL, etc., pero TENGO PARA HACER CLIC EN EL botón, todo lo que envíe un mensaje al chatbox, qué cojo ... necesito el manejador de eventos ENTER –

Respuesta

12

Puede hacer que el tipo de burron se envíe, o puede usar el controlador de eventos onkeyup y verificar si hay código clave 13 (http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes.aspx tiene una lista de códigos de tecla). Tendrás que saber cómo obtener el código clave del evento.

edición: un ejemplo

HTML:

<input onkeyup="inputKeyUp(event)" ...> 

Javascript normal:

function inputKeyUp(e) { 
    e.which = e.which || e.keyCode; 
    if(e.which == 13) { 
     // submit 
    } 
} 
+0

ese código clave 13 es probablemente lo que estoy buscando, pero no lo conozco, no lo he visto ni lo he usado, ¿podría proporcionarme un fragmento de código? –

+0

gracias entonio que era bastante bueno, respuesta fácil, corta y no complicada –

2

Aquí es un fragmento de código de trabajo para escuchar a la tecla Intro

$(document).ready(function(){ 

    $(document).bind('keypress',pressed); 
}); 

function pressed(e) 
{ 
    if(e.keyCode === 13) 
    { 
     alert('enter pressed'); 
     //put button.click() here 
    } 
} 
Cuestiones relacionadas