2009-04-28 20 views
6

Estoy tratando de hacerlo para que un envío de formulario no cause que la página navegue y use ajaxSubmit para enviar el contenido. sin embargo, cuando hago clic en el botón Enviar, sigue navegando hacia la página en el atributo de acción del formulario. Aquí está el código JavaScript:Envíe un formulario usando jquery sin navegar a otra pantalla

var options = { 
    success: processLogin 
}; 
$('#loginform').submit(function() { 
    $(this).ajaxSubmit(options); 
    return false; 
}); 

y aquí la forma:

<form id='loginform' action='login.php' method='post'> 
    <table id='logintable'> 
     <tr> 
      <td>Room:</td> 
      <td><input id='roomname' type='text' name='roomname' /></td> 
     </tr> 
     <tr> 
      <td>Nickname:</td> 
      <td><input id='nickname' type='text' name='nickname' /></td> 
     </tr> 
     <tr> 
      <td colspan='2' class='center'><input type='submit' value='Submit' /></td> 
    </table> 
</form> 

Respuesta

0

Otra opción es cambiar la etiqueta html de entrada a <input id="save" type="Button" value="submit" /> que le da un botón que hace nada, excepto proporcionar un enlace de JavaScript.

Usar la siguiente javascript ajax enviar su forma

$("#save").click(function() { 
    $("#loginform").ajaxSubmit(); 
} 

Al hacer esto, se pierde la capacidad para enviar el formulario pulsando Enter. Puede superar esto con la siguiente pieza de jquery:

$("input").keypress(function(e) { 
    if (e.which == 13) { 
     $("#save").click(); 
    } 
}); 
+0

¿qué ocurre cuando alguien presiona enter en el formulario? –

+0

Han agregado un código para cubrir este caso más arriba. –

Cuestiones relacionadas