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 дня .Никто никогда не ставил такую задачу нигде не нашел..
  • Вопрос задан
  • 146 просмотров
Пригласить эксперта
Ответы на вопрос 1
@MaksPaverov
<button type="submit" formaction="delete()" class="button_1">Удалить</button>
<button type="submit" formaction="send()" class="button_2">Отправить</button>
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы