JQuery + AJAX kullanarak sunucuya gönder düğmesini name
+ göndermenin birkaç yolunu araştırdım ve buldum value
. Onlardan pek hoşlanmadım ...
En iyilerden biri, burada sunulan avcı çözümüydü!
Ama kendim bir tane daha yazdım.
Paylaşmak istiyorum çünkü iyi ve ihtiyaç duyduğumda ajax aracılığıyla yüklenen formlarla da çalışıyor (document.ready'nin ardından):
$(document).on('click', 'form input[type=submit]', function(){
$('<input type="hidden" />').appendTo($(this).parents('form').first()).attr('name', $(this).attr('name')).attr('value', $(this).attr('value'));
});
Basit! Gönder düğmesine tıklandığında, forma gizli bir alan eklenir name
ve aynı vevalue
gönder düğmesi .
DÜZENLE: Aşağıdaki sürümün okunması daha kolaydır. Ayrıca, önceden eklenen gizli alanların kaldırılmasıyla da ilgilenir (aynı formun iki kez gönderilmesi durumunda, bu AJAX kullanırken mükemmel şekilde mümkündür).
Geliştirilmiş kod:
$(document).on('click', 'form input[type=submit]', function(){
var name = $(this).attr('name');
if (typeof name == 'undefined') return;
var value = $(this).attr('value');
var $form = $(this).parents('form').first();
var $input = $('<input type="hidden" class="temp-hidden" />').attr('name', name).attr('value', value);
$form.find('input.temp-hidden').remove();
$form.append($input);
});
formobj.submit()
. Bence tıklama etkinlikleri gitmenin yolu.