2013-02-04 21 views
15

एजेक्स के माध्यम से सबमिट किए जाने पर, एक पूर्ण फ़ॉर्म (इसके भीतर सभी इनपुट तत्व) को कैसे अक्षम करता है? मैंने नियंत्रक में $scope.form_state चर सेट करने और सबमिट बटन के ng-disabled विशेषता को बाध्य करने का प्रयास किया है, लेकिन यह एक वर्कअराउंड जैसा लगता है। ऐसा करने का एक आसान + सीधा-आगे तरीका होना चाहिए।AngularJS - सबमिट किए जाने पर फ़ॉर्म को कैसे अक्षम करें?

+0

@mpm: निश्चित रूप से, मैं समझता हूं कि यह कार्यक्षमता एंगुलर आउट-द-बॉक्स द्वारा प्रदान नहीं की जाती है। एक विकल्प के रूप में, इसे प्राप्त करने में मेरी सहायता के लिए कस्टम निर्देश बनाने का सबसे अच्छा तरीका क्या है? –

उत्तर

30

आप सभी फॉर्म तत्वों को fieldset में डाल सकते हैं और पूरे फ़ील्ड को अक्षम करने के लिए ng-disabled का उपयोग कर सकते हैं।

+7

काम करता है - धन्यवाद। बीटीडब्ल्यू, दूसरों के लाभ के लिए, समाधान कोणीय विशिष्ट नहीं है, लेकिन वास्तव में एक नियमित HTML विशेषता है। जबकि फ़ील्ड के भीतर के सभी फ़ील्ड अक्षम हो जाते हैं, उपयोगकर्ता को कोई दृश्य प्रतिक्रिया नहीं होती है (जब आप अलग-अलग इसे अक्षम करते हैं तो फ़ील्ड कैसे निकलती है)। –

+0

यह 'फ़ील्डसेट' टैग की एक ** HTML5 ** प्रॉपर्टी भी प्रतीत होता है (https://developer.mozilla.org/en/docs/Web/HTML/Element/Fieldset देखें) –

+0

यह IE9 पर काम नहीं करता है क्योंकि एक HTML5 विशेषता है। – RolandoCC

संबंधित मुद्दे