$(this).attr('id') was wenn id nicht vorhanden ?
bearbeitet von Rolf bDu musst unterscheiden zwischen this und $(this). In deinem click-Handler ist der Kontext (was in this steht) das geklickte DOM-Element. Also der Button. $(this) ist der Aufruf der jQuery-Funktion mit this als Parameter, was ein matched set mit diesem DOM-Element als Inhalt erzeugt. Wenn Du im click-Handler schreibst
~~~js
var $name = $(this);
~~~
dann ist das nicht falsch, aber Du merkst Dir damit nicht den Inhalt von this, sondern ein matched set mit dem DOM-Elemennt aus this als Inhalt.
Um den Button im Ajax-Replyhandler zu disablen, kannst Du dieses matched set nutzen, du schreibst:
~~~js
$name.prop('disable', true); // und nicht: $name.attr('disable', 'disable');
~~~
Beachte prop statt attr - [hier](https://api.jquery.com/attr/) steht's begründet (suche nach disabled).
---
Sich zu diesem Zweck ein matched set zu merken, oder jQuery zu verwenden, ist aber eigentlich eine Spatzenkanone. Form-Elemente haben ein disabled-Property, das du auf true oder false setzen kannst. Deshalb reicht es, im click-Handler eine Variable `clickedButton = this` zu setzen und im Ajax-Replyhandler schreibst dann nur noch `clickedButton.disabled = true`.
_Rolf_