Передать имя кнопки аяксом
Здравствуйте! Подскажите, пожалуйста, как аяксом передать имя кнопки?
Есть форма в которой несколько кнопок субмит, как аяксом передать имя копки, чтобы обработчик принял её, как
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, время: 12:25. |