2013-02-04 32 views
15

當通過AJAX提交時,如何禁用完整的表單(其中的所有輸入元素)?我試過在控制器中設置一個$scope.form_state變量,並將其綁定到提交按鈕的ng-disabled屬性,但它似乎是一種解決方法。應該有一個更簡單直接的方式來做到這一點。AngularJS - 如何在提交表單時禁用表單?

+0

@mpm:當然,我明白這個功能並不是由Angular提供的。作爲替代方案,建立自定義指令以幫助我實現這一目標的最佳方法是什麼? –

回答

30

您可以將所有表單元素放入fieldset並使用ng-disabled來禁用整個字段集。

+7

作品 - 謝謝。順便說一句,爲了其他人的利益,該解決方案不是特定於Angular的,但實際上是一個常規的HTML屬性。儘管字段集中的所有字段都被禁用,但用戶沒有視覺反饋(與單個禁用字段時灰色區域不同)。 –

+0

它甚至似乎是'fieldset'標記的** HTML5 **屬性(請參閱https://developer.mozilla.org/en/docs/Web/HTML/Element/Fieldset) –

+0

這不適用於IE9因爲是HTML5屬性。 – RolandoCC