Mit jQuery zu ändern, input button text wieder nach ein paar Sekunden
Bin ich über ein Formular und jQuery, um eine schnelle Veränderung auf einer Website. Ich möchte den text der Schaltfläche 'Gespeichert!', dann ändern Sie es zurück zu Update nach ein paar Sekunden, damit sich die Benutzer können den Wert ändern, wieder. Natürlich können Sie schlagen das jetzt "Gespart"! " - Taste wieder, aber es sieht nicht schön aus.
$("form.stock").submit(function(){
//Example Post
$.post($(this).attr('action'), { id: '123', stock: '1' });
$(this).find(":submit").attr('value','Saved!');
//This doesn't work, but is what I would like to do
setTimeout($(this).find(":submit").attr('value','Update'), 2000);
return false;
});
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erste argument für die setTimeout Funktion ist. So wickeln Sie Ihren code in eine anonyme Funktion und Sie sind gut zu gehen.
Ich bin nicht in der Lage diesen code zu testen, gerade jetzt. Lassen Sie mich wissen, wenn es nicht funktioniert.
EDIT: Wie vorgeschlagen von redsquare, macht es Sinn, zu erstellen Schließung von den submit-button selbst.
Wenn es eigentlich eine "button" - tag dann, es zu ändern, die Sie verwenden würden.
Natürlich, wenn Sie ausführen diese onClick für die Schaltfläche, dann können Sie einfach nur übergeben (this) in der Funktion als Objekt und $(this).html('Neuer Text'); statt.
Hoffe, das jemand hilft.
Ich würde vorschlagen, vielleicht ein anderes (meiner Meinung nach besser) - Schnittstelle, um feedback zu geben als änderung den text der Schaltfläche. Könnten Sie jGrowl oder die dialog widget zur Anzeige einer Meldung über einen Rückruf von der post-Methode.
Werden Sie wahrscheinlich wollen, wickeln Sie die Aktion in einer Funktion: