Deaktivierte Steuerelemente senden ihre Werte nicht, was nicht hilfreich ist, um festzustellen, ob der Benutzer auf Speichern oder Löschen geklickt hat.
Also speichere ich den Schaltflächenwert in einem versteckten, der gesendet wird. Der Name des Versteckten entspricht dem Namen der Schaltfläche. Ich rufe alle meine Tasten mit dem Namen an button.
Z.B <button type="submit" name="button" value="save">Save</button>
Aufgrund dessen habe ich hier gefunden . Speichern Sie einfach die angeklickte Schaltfläche in einer Variablen.
$(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");
}
});
Hier ist meine IsNullFunktion. Verwenden oder ersetzen Sie IsNull oder undefined usw. durch Ihre eigene Version.
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(): Das Formular wird gesendet, aber die Schaltfläche wird nicht mehr deaktiviert ...