Вимкнені елементи керування не подають своїх значень, що не допомагає зрозуміти, чи натиснув користувач кнопку зберегти чи видалити.
Тому я зберігаю значення кнопки у прихованому, яке надсилається. Ім'я прихованого збігається з ім'ям кнопки. Я називаю всі свої кнопки іменем button.
Напр <button type="submit" name="button" value="save">Save</button>
На основі цього я знайшов тут . Просто збережіть натиснуту кнопку у змінну.
$(document).ready(function(){
var submitButton$;
$(document).on('click', ":submit", function (e)
{
submitButton$ = $(this);
});
$(document).on('submit', "form", function(e)
{
var form$ = $(this);
var hiddenButton$ = $('#button', form$);
if (IsNull(hiddenButton$))
{
hiddenButton$ = $('<input>')
.attr({ type: 'hidden', id: 'button', name: 'button' })
.appendTo(form$);
}
hiddenButton$.attr('value', submitButton$.attr('value'));
submitButton$.attr("disabled", "disabled");
}
});
Ось моя IsNullфункція. Використовуйте або замінюйте власну версію для IsNull або невизначеної тощо.
function IsNull(obj)
{
var is;
if (obj instanceof jQuery)
is = obj.length <= 0;
else
is = obj === null || typeof obj === 'undefined' || obj == "";
return is;
}
$('input[type=submit]').submit(function(): форму надіслано, але кнопка більше не відключатиметься ...