2011-01-10 34 views
5

Estoy usando la funcionalidad ajax. Cuando selecciono cualquier sugerencia usando la tecla enter, el formulario se envía automáticamente porque el botón de enviar está enfocado automáticamente. ¿Hay alguna manera de seleccionar una sugerencia ajax usando la tecla enter y enviar el formulario usando la tecla enter? Algo así como cuando ingreso los valores de todos los campos, solo el botón de enviar se habilita.Desactivar envío de formulario al presionar enter porque estoy usando la funcionalidad Ajax

Respuesta

4

¿Cómo llamas a tu función Ajax? Debe estar dentro del controlador de evento submit del formulario. Y entonces, si usted tiene el retorno controlador de eventos false no presentará normalmente:

<form onsubmit="doAjaxSubmit(); return false;"> 
    ... 
</form> 
+0

Parece que esto no resolvería el problema, ya que presionar enter en el campo de autocompletar todavía causaría un envío de AJAX. – kprevas

+0

pero estoy usando un método de validación de formulario en la llamada de envío de cómo llamaré a este método si no hubiera AjaxSubmit(). –

2

Usted puede detectar qué tecla se presiona por el método de .keypress(). A partir de esto, usted debe ser capaz de return false; de envío de formulario y hacer sus cosas Ajax en la parte posterior de la misma en una declaración if:

http://api.jquery.com/keypress/

+0

no estoy usando jquery para la funcionalidad ajax, así que no puedo usar la función Jquery.keypress(). –

1

Usted puede tener onSubmit regreso de su formulario true si todos los campos tienen valores, o false si no lo hacen.

Cuestiones relacionadas