Disabled controls do not submit their values which does not help in knowing if the user clicked save or delete.
So I store the button value in a hidden which does get submitted. The name of the hidden is the same as the button name. I call all my buttons by the name of button.
E.g. <button type="submit" name="button" value="save">Save</button>
Based on this I found here. Just store the clicked button in a variable.
$(document).ready(function(){ var submitButton$; $(document).on('click', ":submit", function (e) { // you may choose to remove disabled from all buttons first here. submitButton$ = $(this); }); $(document).on('submit', "form", function(e) { var form$ = $(this); var hiddenButton$ = $('#button', form$); if (IsNull(hiddenButton$)) { // add the hidden to the form as needed hiddenButton$ = $('<input>') .attr({ type: 'hidden', id: 'button', name: 'button' }) .appendTo(form$); } hiddenButton$.attr('value', submitButton$.attr('value')); submitButton$.attr("disabled", "disabled"); } });
Here is my IsNull function. Use or substitue your own version for IsNull or undefined etc.
function IsNull(obj) { var is; if (obj instanceof jQuery) is = obj.length <= 0; else is = obj === null || typeof obj === 'undefined' || obj == ""; return is; }