Я шукав і знайшов кілька способів отримати кнопку "Надіслати" name
+value
надіслати на сервер за допомогою jQuery + AJAX. Мені вони не дуже сподобалися ...
Однією з речей було рішення мисливця, представлене тут!
Але я написав ще один.
Я хочу поділитися, тому що це добре, і, як мені потрібно, він також працює з формами, завантаженими через ajax (після document.ready):
$(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'));
});
Просто! Після натискання кнопки надсилання до форми додається приховане поле, використовуючи те саме name
іvalue
кнопки підтвердження.
Редагувати: Версія нижче легша для читання. Крім того, він піклується про видалення раніше доданих прихованих полів (у разі надсилання тієї самої форми двічі, що цілком можливо при використанні AJAX).
Удосконалений код:
$(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()
. Я думаю, що події, що проходять, - це шлях.