Задать вопрос
mbxngtgo
@mbxngtgo
веб программист

Как переделать код отправки post на две кнопки через ajax?

Есть следующая форма

<form id="form1" action="" method="POST" >
<input class="val" size="1" type="text" name="text" maxlength="30" value="" autocomplete="off" placeholder="text"  />
  <input type="submit" name="delete" class="btn" value="удалить"/>


Он работает с этим ajax

$(document).ready(function () { 
    $("form").submit(function () { 
        // Получение ID формы 
        var formID = $(this).attr('id'); 
        // Добавление решётки к имени ID 
        var formNm = $('#' + formID); 
        $.ajax({ 
            type: "POST", 
            url: 'mail.php', 
            data: formNm.serialize(), 
            success: function (data) { 
                // Вывод текста результата отправки 
                $(formNm).html(data);  
            }, 
            error: function (jqXHR, text, error) { 
                // Вывод текста ошибки отправки 
                $(formNm).html(error);          
            } 
        }); 
        return false; 
    }); 
});


А мне нужно сделать так

<form id="form1" action="" method="POST" >
<input class="val" size="1" type="text" name="text" maxlength="30" value="" autocomplete="off" placeholder="text"  />
  <input type="submit" name="delete" class="btn" value="удалить"/>
  <input type="submit" name="save" class="btn" value="сохранить"/></form>


Работает следующим образом.

Без ajax он отправляет форму на php без проблем.Но как только подключаю тот вышеперечисленный ajax происходит пустой запрос .Мне нужно просто добавить проверку без убирания того код.

Что то в этом роде мне нужно

$(document).ready(function () { 
    $("form").submit(function () { 
        // Получение ID формы 
        var formID = $(this).attr('id'); 
        // Добавление решётки к имени ID 
        var formNm = $('#' + formID); 

если нажата кнопка удалить то передать это на mail php
если нажата кнопка сохранить то передать это на mail php


        $.ajax({ 
            type: "POST", 
            url: 'mail.php', 
            data: formNm.serialize(), 
            success: function (data) { 
                // Вывод текста результата отправки 
                $(formNm).html(data);  
            }, 
            error: function (jqXHR, text, error) { 
                // Вывод текста ошибки отправки 
                $(formNm).html(error);          
            } 
        }); 
        return false; 
    }); 
});


А с нынешним кодом происходит пустой post php запрос на php приемник этот

<?php
if (isset($_POST['save']))
  {
  // сохранено
  }
  else
if (isset($_POST['delete']))
  {
  // удалено
  }
?>


Перерыл весь интернет.Ответ ищу 2 дня .Никто никогда не ставил такую задачу нигде не нашел..
  • Вопрос задан
  • 153 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@MaksPaverov
<button type="submit" formaction="delete()" class="button_1">Удалить</button>
<button type="submit" formaction="send()" class="button_2">Отправить</button>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽