Ich habe ein Formular mit dem Namen orderproductForm
und einer unbestimmten Anzahl von Eingaben.
Ich möchte eine Art jQuery.get oder Ajax oder irgendetwas ähnliches machen, das eine Seite über Ajax aufruft und alle Eingaben des Formulars orderproductForm
mitsendet.
Ich nehme an, eine Möglichkeit wäre, etwas zu tun wie
jQuery.get("myurl",
{action : document.orderproductForm.action.value,
cartproductid : document.orderproductForm.cartproductid.value,
productid : document.orderproductForm.productid.value,
...
Allerdings kenne ich nicht genau alle Formulareingaben. Gibt es ein Feature, eine Funktion oder etwas, das einfach ALLE Formulareingaben senden würde?
Dies ist ein einfacher Hinweis:
// 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.
}
});
});
Ich hoffe, es hilft Ihnen.
Sie können die Funktionen ajaxForm/ajaxSubmit aus dem Ajax Form Plugin oder die jQuery-Funktion serialize verwenden.
AjaxForm:
$("#theForm").ajaxForm({url: 'server.php', type: 'post'})
oder
$("#theForm").ajaxSubmit({url: 'server.php', type: 'post'})
ajaxForm sendet, wenn die Schaltfläche "Submit" gedrückt wird. ajaxSubmit sendet sofort.
Serialisieren:
$.get('server.php?' + $('#theForm').serialize())
$.post('server.php', $('#theForm').serialize())
Es gibt auch das Submit-Ereignis, das wie folgt ausgelöst werden kann: $("#form_id").submit(). Diese Methode wird verwendet, wenn das Formular bereits gut in HTML dargestellt ist. Man liest einfach die Seite ein, füllt die Formulareingaben mit Inhalten und ruft dann .submit() auf. Es werden die Methode und die Aktion verwendet, die in der Deklaration des Formulars definiert sind, so dass Sie sie nicht in Ihr Javascript kopieren müssen.