jQuery AJAX formulier indienen

Ik heb een formulier met de naam orderproductForm en een onbepaald aantal inputs.

Ik wil een soort jQuery.get of ajax of iets dergelijks doen dat een pagina zou oproepen via Ajax, en alle inputs van het formulier orderproductForm zou meesturen.

Ik veronderstel dat een manier zou zijn om iets te doen als

jQuery.get("myurl",
          {action : document.orderproductForm.action.value,
           cartproductid : document.orderproductForm.cartproductid.value,
           productid : document.orderproductForm.productid.value,
           ...

Maar ik weet niet precies alle formulier ingangen. Is er een functie, functie of iets dergelijks dat alleen ALLE formulier ingangen zou sturen?

Dit is een eenvoudige referentie:

// this is the id of the form
$("#idForm").submit(function(e) {

    e.preventDefault(); // avoid to execute the actual submit of the form.

    var form = $(this);
    var url = form.attr('action');

    $.ajax({
           type: "POST",
           url: url,
           data: form.serialize(), // serializes the form's elements.
           success: function(data)
           {
               alert(data); // show response from the php script.
           }
         });

});

Ik hoop dat het je helpt.

Commentaren (20)
Oplossing

U kunt de ajaxForm/ajaxSubmit functies uit Ajax Form Plugin of de jQuery serialize functie gebruiken.

AjaxForm:

$("#theForm").ajaxForm({url: 'server.php', type: 'post'})

of

$("#theForm").ajaxSubmit({url: 'server.php', type: 'post'})

ajaxForm verzendt wanneer op de submit-knop wordt gedrukt. ajaxSubmit verzendt onmiddellijk.

Serialize:

$.get('server.php?' + $('#theForm').serialize())

$.post('server.php', $('#theForm').serialize())

AJAX serialisatie documentatie is hier.

Commentaren (9)

Er'is ook het submit event, dat als volgt getriggerd kan worden $("#form_id").submit(). Je'zou deze methode gebruiken als het formulier al goed in HTML is weergegeven. Je'zou gewoon de pagina inlezen, de formulierinputs met dingen vullen, en dan .submit() aanroepen. Het'zal de methode en actie gebruiken die in de verklaring van het formulier'is gedefinieerd, dus je hoeft het niet in je javascript te kopiëren.

voorbeelden

Commentaren (3)