2013-02-04 39 views
15

Làm cách nào để vô hiệu hóa biểu mẫu hoàn chỉnh (tất cả các phần tử đầu vào bên trong nó), trong khi nó được gửi qua AJAX? Tôi đã thử thiết lập một biến số $scope.form_state trong bộ điều khiển và gắn nó vào thuộc tính ng-disabled của nút gửi, nhưng nó có vẻ giống như một giải pháp thay thế. Nên có một cách dễ dàng hơn + thẳng về phía trước để làm điều này.AngularJS - Làm thế nào để vô hiệu hóa một biểu mẫu khi nó được gửi?

+0

@mpm: Chắc chắn, tôi hiểu rằng chức năng này không được cung cấp bởi Angular out-of-the-box. Thay vào đó, cách tốt nhất để xây dựng một chỉ thị tùy chỉnh để giúp tôi đạt được điều này là gì? –

Trả lời

30

Bạn có thể đặt tất cả các phần tử biểu mẫu vào fieldset và sử dụng ng-disabled để tắt toàn bộ trường.

+7

Hoạt động - cảm ơn. Btw, vì lợi ích của người khác, giải pháp không phải là Góc cụ thể, nhưng thực sự là một thuộc tính HTML thông thường. Trong khi tất cả các trường trong fieldset đều bị vô hiệu hóa, không có phản hồi trực quan nào cho người dùng (không giống như trường được tạo ra khi bạn tắt riêng từng trường). –

+0

Nó thậm chí có vẻ là một thuộc tính ** HTML5 ** của thẻ 'fieldset' (xem https://developer.mozilla.org/en/docs/Web/HTML/Element/Fieldset) –

+0

Điều này không hoạt động trên IE9 vì là thuộc tính HTML5. – RolandoCC

Các vấn đề liên quan