Adı orderproductForm
olan bir formum ve tanımlanmamış sayıda girdilerim var.
Ajax aracılığıyla bir sayfayı çağıracak ve orderproductForm
formunun tüm girdilerini gönderecek bir tür jQuery.get veya ajax veya bunun gibi bir şey yapmak istiyorum.
Sanırım bunun bir yolu şöyle bir şey yapmak olabilir
jQuery.get("myurl",
{action : document.orderproductForm.action.value,
cartproductid : document.orderproductForm.cartproductid.value,
productid : document.orderproductForm.productid.value,
...
Ancak tüm form girdilerini tam olarak bilmiyorum. Sadece TÜM form girdilerini gönderecek bir özellik, işlev veya başka bir şey var mı?
Bu basit bir referanstır:
// 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.
}
});
});
Umarım size yardımcı olur.
Ajax Form Plugin]1'deki ajaxForm/ajaxSubmit fonksiyonlarını veya jQuery serialize fonksiyonunu kullanabilirsiniz.
AjaxForm:
$("#theForm").ajaxForm({url: 'server.php', type: 'post'})
veya
$("#theForm").ajaxSubmit({url: 'server.php', type: 'post'})
ajaxForm, gönder düğmesine basıldığında gönderilir. ajaxSubmit hemen gönderilir.
Serileştir:
$.get('server.php?' + $('#theForm').serialize())
$.post('server.php', $('#theForm').serialize())
Ayrıca şu şekilde tetiklenebilen submit olayı da vardır $("#form_id").submit(). Form zaten HTML'de iyi bir şekilde temsil ediliyorsa bu yöntemi kullanırsınız. Sayfayı okuyup form girdilerini doldurduktan sonra .submit() metodunu çağırırsınız. Form bildiriminde tanımlanan yöntemi ve eylemi kullanacaktır, bu nedenle javascript'inize kopyalamanıza gerek yoktur.