Estoy desarrollando una aplicación Ruby On Rails 2.3.8 y me gustaría saber cómo enviar un formulario remote_form_for
cuando los usuarios presionen la tecla ENTRAR dentro del área de texto.¿Cómo enviar un formulario AJAX con la tecla ENTER, desde textarea?
Aquí es el código del formulario:
<% remote_form_for :post, PostComment.new, :url => save_outside_comment_path(post_id), :html => { :method => :put} do |f| %>
<%= f.text_area :comment, :rows => 1, :id => "txtOutsideComment_#{post_id}", :class => "new-reply-text" %>
<% end %>
Aquí es la función de jQuery que hace un submit, pero no AJAX:
jQuery('.new-reply-text').keypress(function(e) {
if (e.keyCode == 13 && !e.shiftKey) {
e.preventDefault();
this.form.submit();
}
});
hago ya la actualización de la página de mi controlador, puedo no desea especificar ninguna sintaxis como success:
desde esta función jQuery. Solo quiero que envíe el remote_form_for
usando AJAX.
Gracias por su respuesta. La cuestión de hacer esto es que ya estoy haciendo la sustitución html desde la acción del controlador, una vez que se envía el formulario. Por lo tanto, no quiero (o al menos nunca lo he hecho de esta manera) especificar un evento exitoso de jQuery, por ejemplo. ¿Hay alguna otra forma en Rails para hacer esto? – brianfalah
simplemente deje la función de éxito vacía – jigfox
La idea detrás de la llamada AJAX es procesar la solicitud de envío sin recargar toda la página. En este caso, activaría la misma acción de controlador que maneja el envío, pero en su lugar se llamaría mi función AJAX. A continuación, devolverá el HTML a través de la solicitud AJAX y en la función de éxito reemplazará dinámicamente el contenido del formulario (o área). – Brombomb