У меня есть форму, которая может быть отправлена двумя кнопками. Я хочу, чтобы одна кнопка просто сохраняла содержимое формы, а другая - для сохранения содержимого, а затем очищала его. Я использую ajax для отправки формы. В настоящее время у меня есть две кнопки с одинаковым именем, каждая из которых содержит другое значение. Вот мои HTML кнопка,Выбор способа отправки формы через ajax
//Saves the form
<button type="submit" name="action" value="save_form"
class="btn btn-success">Save</button>
//Saves the form and clears it
<button type="submit" name="action" value="new_form"
class="btn btn-warning">New Form</button>
Я использую Ajax для отправки формы и это код, я использую, чтобы получить значение кнопки действия, отправившей форму,
'action' : $('button[name=action]').val()
Все но проблема заключается в том, что при отправке формы с помощью кнопки new_form
приведенный выше код jQuery по-прежнему устанавливает значение кнопки отправки как save_card
вместо new card
.
Я переключил порядок отображения кнопок в форме, а приведенный выше код jQuery принимает значение любой кнопки, которая отображается первой, которая называется action
.
Почему это делается? Как я могу определить, какая кнопка подала форму?
Jquery, который отправляет форму с помощью Ajax
$(document).on('submit', '#edit_form', function(event) {
// stop the form from submitting the normal way and refreshing the page
event.preventDefault();
// get the form data
var formData = {
'did' : $('input[name=did]').val(),
'front' : $('textarea[name=front]').val(),
'back' : $('textarea[name=back]').val(),
'cid' : $('input[name=cid]').val(),
'action' : $('button[name=action]').val()
};
// process the form
$.ajax({
type : 'POST',
url : '../API/api.php',
data : formData,
success: function(data) {
//do something
}
});
});
опубликовать JavaScript также. –
@FrebinFrancis Добавлено javascript –