2011-01-12 9 views
13

Quiero utilizar el siguiente anclaje para enviar un formulario con jquery a Spring. ¿Cómo se hace esto?¿Cómo puedo usar una etiqueta de anclaje para enviar un formulario con jquery

<a target="" title="" class="" href="">Save</a> 

He intentado esto, donde requestNew es mi forma:

$(document).ready(function(){ 
    $("a").click(function(){ 
    $("#requestNew").submit(function(){ 
     $.post("../acctRequests", $("#requestNew").serialize()); 
     }); 
    }); 
}); 

no parece ir a ninguna parte.

Respuesta

20

Está agregando un nuevo controlador de eventos; todo lo que necesita hacer es activar los existentes y la funcionalidad nativa del navegador:

$(document).ready(function(){ 
    $("a").click(function(){ 
    $("#requestNew").submit(); 
    }); 
}); 
+0

que funciona ... gracias por la ayuda – coder

4

Asigne el controlador de envío fuera del clic. Luego llámalo desde el clic.

$(document).ready(function(){ 
     // Binds the submit handler to the #requestNew form 
    $("#requestNew").submit(function(){ 
     $.post("../acctRequests", $("#requestNew").serialize()); 
    }); 
    $("a").click(function(e) { 
     $("#requestNew").submit(); // calls the submit handler 
     e.preventDefault(); // Prevents the default behavior of the link 
    }); 
}); 
+0

Este es la forma correcta La respuesta de lonesomeway (la aceptada) no funcionó con mi navegador ya que el comportamiento predeterminado de la etiqueta de anclaje no se superó, volviendo a cargar la página, y posteriormente perdiendo datos de la publicación. – eggmatters

0

si se agrega un id a su ancla puede enviar el formulario en su función de clic:

<a target="" title="" class="" href="" id="saveButton">Save</a> 
$(document).ready(function(){ 
    $('#saveButton').click(function(){ 
    $("#requestNew").submit(); //if requestNew is the id of your form 
    }); 
}); 

Si usted está tratando de presentarlo con ajax que es una solución diferente, pero no estoy seguro de si eso es lo que quiere basa en su pregunta

6

utilice este

<a href="javascript:document.YOUR_FORM_NAME.submit()"> Submit</a> 

<form name="YOUR_FORM_NAME" action="YOUR_ACTION_PAGE_URL" method=POST> 
      <input type="text" name="YOUR_INPUT_NAME" value="YOUR_INPUT_VALUE"/> 
     </form> 

Reemplazar "Y OUR_ACTION_PAGE_URL" con la URL de su acción específica

4

HTML

<form...> 
    ... 
    <a data-role="submit">Save</a> 
</form> 

jQuery

$(function(){ 
    $("[data-role=submit]").click(function(){ 
     $(this).closest("form").submit(); 
    }); 
}); 
0

la forma más sencilla es la siguiente:

<a href="#" onclick="submit()">Submit</a> 
Cuestiones relacionadas