2013-02-04 11 views
15

Wie deaktiviert man das vollständige Formular (alle Eingabeelemente darin), während es über AJAX gesendet wird? Ich habe versucht, eine $scope.form_state Variable in den Controller zu setzen und es an das Attribut ng-disabled des Sendenknopfes zu binden, aber es scheint wie ein Workaround. Es sollte einen leichteren und direkteren Weg geben, dies zu tun.AngularJS - Wie man ein Formular deaktiviert, wenn es eingereicht wird?

+0

@mpm: Sicher, ich verstehe, dass diese Funktionalität nicht von Angular Out-of-the-Box bereitgestellt wird. Als Alternative: Was ist der beste Weg, um eine benutzerdefinierte Anweisung zu erstellen, die mir dabei hilft, dies zu erreichen? –

Antwort

30

Sie können alle Formularelemente in fieldset einfügen und ng-disabled verwenden, um das gesamte Feldset zu deaktivieren.

+7

Works - danke. Übrigens ist die Lösung für andere nicht winkelspezifisch, sondern ist eigentlich ein normales HTML-Attribut. Während alle Felder innerhalb des Fieldsets deaktiviert werden, gibt es keine visuelle Rückmeldung an den Benutzer (im Gegensatz zu einem Feld, das grau ausfällt, wenn Sie es einzeln deaktivieren). –

+0

Es scheint sogar eine ** HTML5 ** -Eigenschaft von 'fieldset'-Tag (siehe https://developer.mozilla.org/en/docs/Web/HTML/Element/Fieldset) –

+0

Dies funktioniert nicht auf IE9 weil ist ein HTML5-Attribut. – RolandoCC

Verwandte Themen