2015-09-23 4 views
9

मैं HTML फ़ाइल में सक्षम के रूप में एक बटन को स्पष्ट रूप से सेट करना चाहता हूं। कारण यह है कि बाद में मेरा कोड अक्षम करने के लिए बटन को टॉगल करता है और यदि कोड क्रैश हो जाता है या तो मुझे बटन अक्षम हो सकता है।एचटीएमएल में स्पष्ट रूप से सेट = "झूठा" सेट नहीं है

मैं

$("#btn").attr("disabled","true") 

लेकिन फिर एक एचटीएमएल युक्त बटन को निष्क्रिय कर सकते हैं:

<button id="btn" disabled="false">I want to be enabled!</button> 

अभी भी अक्षम के रूप में बटन को दर्शाता है। निरीक्षक पता चलता है:

<button id="btn" disabled="">I want to be enabled!</button> 

मैं जानता हूँ कि मैं क्या कर सकते हैं

$("#btn").removeAttr("disabled") 

या इसी तरह की है, लेकिन यह है कि ऐसा करने के लिए html में कई तत्वों के लिए सुविधाजनक नहीं है।

+1

_ "लेकिन एचटीएमएल में कई तत्वों के लिए ऐसा करना सुविधाजनक नहीं है" _ ... क्यों? – Xufox

उत्तर

19

एचटीएमएल बूलियन विशेषताओं के लिए बूलियन मानों का उपयोग नहीं करता है, आश्चर्यजनक रूप से।

एचटीएमएल में, बूलियन विशेषताओं को केवल विशेषता नाम का उपयोग करके विशेषता नाम, या (विशेष रूप से एक्सएचटीएमएल) जोड़कर निर्दिष्ट किया जाता है।

<input type="checkbox" disabled>     <!-- HTML --> 
<input type="checkbox" disabled />    <!-- Also HTML --> 
<input type="checkbox" disabled="disabled" /> <!-- XHTML and HTML --> 

इस HTML विनिर्देश में दर्ज है: http://www.w3.org/TR/html5/infrastructure.html#boolean-attribute

विशेषताओं का एक नंबर बूलियन विशेषताएँ हैं। किसी तत्व पर बूलियन विशेषता की उपस्थिति वास्तविक मान का प्रतिनिधित्व करती है, और विशेषता की अनुपस्थिति झूठी मान का प्रतिनिधित्व करती है।

बुलियन विशेषताओं पर "सत्य" और "झूठी" मानों की अनुमति नहीं है। झूठे मूल्य का प्रतिनिधित्व करने के लिए, विशेषता को पूरी तरह से छोड़ा जाना चाहिए।

+0

जानकारी के लिए धन्यवाद। हालांकि, अक्षम करने का मतलब यह नहीं है कि अक्षम को बंद कर दिया जाए (जो मुझे चाहिए)। मैंने अभी www.google.com पर एक तत्व अक्षम कर दिया है और पृष्ठ को पुनः लोड किया है। वह तत्व अभी भी अक्षम है – aless80

+0

@ aless80 पृष्ठ को पुनः लोड करने के बाद एक तत्व अक्षम नहीं होना चाहिए।तुम क्या कर रहे हो, बिल्कुल? – Dai

+0

मैं आपको एक परिदृश्य देता हूं। मैं फ़ायरफ़ॉक्स का उपयोग कर रहा हूँ। 1) कहें कि मेरा वेबपृष्ठ निष्पादन रोकता है (बग की वजह से, क्योंकि मैं डिबगिंग कर रहा हूं या क्योंकि मैं पृष्ठ को रीफ्रेश करता हूं) बटन अक्षम होने पर। जब मैं पृष्ठ को रीफ्रेश करता हूं (हार्ड रीफ्रेश नहीं!) बटन अक्षम कर दिया जाएगा। इस कारण से, मैं एचटीएमएल में अक्षम सेट करना चाहता हूं। क्षमा करें, मैंने google.com के बारे में जो लिखा है उसे उपेक्षा करें। – aless80

3

आप कोणीय का उपयोग कर रहे हैं, तो ng-disabled आज़मा सकते हैं। इस मामले में आप की तरह सामान का उपयोग कर सकते हैं:

ng-disabled="true" 
ng-disabled="false" 
ng-disabled={{expression}} 

और यह उम्मीद काम करता है के रूप में ...

+0

हमेशा याद रखने के लिए अच्छा है! – coderade

2

मैं जानता हूँ कि यह एक पुराने विषय है लेकिन चूंकि यहां उल्लेखनीय जवाब है, इस मदद करता है? यह स्पष्ट रूप से सक्षम प्रश्न के रूप में चिह्नित उत्तर देता है।

<button enabled>My Text</button> 
<!-- Which also works as: --> 
<button enabled="enabled">My Text</button> 

मैं भी सत्यापन के दौरान बटन सक्षम करने के लिए उपयोग के लिए इसकी जांच कर रहा हूं। मुझे उम्मीद है इससे किसी को सहायता मिलेगी।

+0

हां, मेरी पोस्ट काफी पुरानी है और मैं अब इस मुद्दे को पुन: उत्पन्न नहीं कर सकता (उदाहरण के लिए एक कोड क्रैश होने के कारण अक्षम बटन प्राप्त करना)। क्या आपको यकीन है कि जब आप पेज को फायर करते हैं तो बटन अक्षम हो जाता है, और सक्षम जोड़ने से यह एक उदाहरण मिलता है? – aless80

+0

मैंने वास्तव में दोनों टैग के साथ इसका परीक्षण नहीं किया था। दिलचस्प बात यह है कि अगर टैग अक्षम किया गया है, तो सक्षम इसे सक्षम नहीं करता है। ऐसा लगता है कि प्राथमिकता अक्षम राज्य में जाती है। जाहिर है, (कोई विचार नहीं कि आपकी मूल कोड समस्या बिल्कुल किस तरह दिखती है) यह एक चर पर सक्षम या अक्षम सेट करने के लिए प्रोग्रामिक रूप से संभव होगा। उदाहरण के लिए '<बटन $ सक्षम>' और उसके बाद इसे उस समय सक्षम या अक्षम करने के लिए सेट करें। – Adsy2010

2

भविष्य में, किसी की मदद कर सकता है।

selectLanguage.onchange = function() 
    { 
     var value = selectLanguage.value; 
     if (value != '') { 
      submitLanguage.removeAttribute('disabled'); 
     } else { 
      submitLanguage.setAttribute('disabled', 'disabled'); 
     } 
     // submitLanguage.setAttribute('enabled', 'enabled'); 
    } 
संबंधित मुद्दे