Передать имя кнопки аяксом
Здравствуйте! Подскажите, пожалуйста, как аяксом передать имя кнопки?
Есть форма в которой несколько кнопок субмит, как аяксом передать имя копки, чтобы обработчик принял её, как if (isset($_POST['button1'])){ echo 'Кнопка 1'; }else{ echo 'Кнопка 1'; } |
А проблема в чем - как передать или как получить?
|
Как передать.
|
Если используется JQ, а он не помещает кнопку submit в набор полей, то можно ее добавить например так:
$('form').submit(function(event) { event.preventDefault(); //в параметрах запроса data: $(this).serialize()+'&src='+event.originalEvent.explicitOriginalTarget.name $_POST['src'] на сервере будет содержать имя нажатой кнопки. |
Так правильно?
function ajax() { $.ajax({ url: 'init.php', method: 'POST', data: $(this).serialize()+'&src='+event.originalEvent.explicitOriginalTarget.name, success: function(data) { $('#div').html(data); }, }); } |
Нет, какое может быть $('form').submit в функции ajax()? $('form').submit это установка обработчика события onsubmit формы.
|
$('form').submit(function(event) { event.preventDefault(); $.ajax({ url: 'init.php', method: 'POST', data: $(this).serialize()+'&src='+event.originalEvent.explicitOriginalTarget.name, success: function(data) { $('#div').html(data); }, }); } Так правильно? |
Это да, но установка обработчика должна быть описана либо в обработчике события загрузки документа, либо ниже html кода формы, например в конце body. И это я для примера пишу $('form'), а у вас на сайте форм может быть не одна и при отправлении каждой будет срабатывать этот обработчик. Поэтому конкретизируйте в селекторе отправление какой именно формы будет обрабатываться этим обработчиком.
|
Спасибо!
|
Часовой пояс GMT +3, время: 18:47. |