Html इनपुट बटन को डिसेबल और इनेबल करना


250

तो मेरे पास इस तरह का एक बटन है:

<input id="Button" type="button" value="+" style="background-color:grey" onclick="Me();"/>

जब मैं चाहूं तो इसे कैसे अक्षम और सक्षम कर सकता हूं? मैंने कोशिश की है disabled="disable"लेकिन इसे वापस सक्षम करना एक समस्या है। मैंने इसे गलत पर वापस सेट करने की कोशिश की, लेकिन इसे सक्षम नहीं किया।


आपका क्या मतलब है इसे वापस सक्षम करें? एक बार जब आप इसे निष्क्रिय कर देते हैं तो आप इसे उसी विधि से पुनः सक्षम नहीं कर सकते हैं, Me()मुझे आशा है कि आप जानते हैं (क्योंकि यह अक्षम है)
cjds

2
मुझे लगता है मैं क्या करने की कोशिश कर रहा हूँ और कुछ घटनाओं के होने पर बटन को सक्षम करने के लिए।
k.ken

जवाबों:


461

जावास्क्रिप्ट का उपयोग करना

  • Html बटन अक्षम करना

    document.getElementById("Button").disabled = true;
  • Html बटन को एनेबल करना

    document.getElementById("Button").disabled = false;
  • यहाँ डेमो


JQuery का उपयोग करना

1.6 से पहले jQuery के सभी संस्करण

  • Html बटन अक्षम करना

    $('#Button').attr('disabled','disabled');
  • Html बटन को एनेबल करना

    $('#Button').removeAttr('disabled');
  • यहाँ डेमो

1.6 के बाद jQuery के सभी संस्करण

  • Html बटन अक्षम करना

    $('#Button').prop('disabled', true);
  • Html बटन को एनेबल करना

    $('#Button').prop('disabled', false);
  • यहाँ डेमो

PS jquery 1.6.1 परिवर्तनों के आधार पर कोड अपडेट किया गया । एक सुझाव के रूप में, हमेशा नवीनतम jquery फ़ाइलों और prop()विधि का उपयोग करें।


क्या मुझे काम करने के लिए वहाँ की विशेषताओं की आवश्यकता है? जैसे निष्क्रिय = "अक्षम"
k.ken

नहीं, अंदर $(document).readyआप कॉल कर सकते हैं $('#Button').attr('disabled','disabled');। यह पेज लोड पर बटन को निष्क्रिय कर देगा। और जब कुछ निश्चित घटनाएँ होती हैं, तो आप $('#Button').removeAttr('disabled');इसे फिर से सक्षम करने के लिए कॉल कर सकते हैं ...
pala Decн

यदि अक्षम हो तो ग्रे स्टाइल कैसे जोड़ें?
लेई यांग

1
@LYYang आप कुछ सीएसएस इस
pala'н

बस ध्यान दें कि सच्चे और झूठे बूलियन होते हैं, तार नहीं, जैसा कि पलाश ने सही लिखा है
Marco

24

चूंकि आप इसे पहली बार में अक्षम कर रहे हैं, इसलिए इसे सक्षम करने का तरीका इसकी disabledसंपत्ति को सेट करना है false

disabledजावास्क्रिप्ट में इसकी संपत्ति को बदलने के लिए , आप इसका उपयोग करते हैं:

var btn = document.getElementById("Button");
btn.disabled = false;

और स्पष्ट रूप से इसे फिर से अक्षम करने के लिए, आप trueइसके बजाय उपयोग करेंगे ।

चूँकि आपने jQuery के साथ प्रश्न को टैग किया था, इसलिए आप .propविधि का उपयोग कर सकते हैं । कुछ इस तरह:

var btn = $("#Button");
btn.prop("disabled", true);   // Or `false`

यह jQuery के नए संस्करणों में है। ऐसा करने का पुराना तरीका एक विशेषता जोड़ना या हटाना है:

var btn = $("#Button");
btn.attr("disabled", "disabled");
// or
btn.removeAttr("disabled");

disabledसंपत्ति की मात्र उपस्थिति तत्व को निष्क्रिय कर देती है, इसलिए आप इसके मूल्य को "झूठे" के रूप में निर्धारित नहीं कर सकते। यहां तक ​​कि निम्नलिखित को तत्व को अक्षम करना चाहिए

<input type="button" value="Submit" disabled="" />

आपको या तो विशेषता को पूरी तरह से हटाने या इसकी संपत्ति सेट करने की आवश्यकता है ।


अगर मैं चाहता हूं कि बटन शुरू में सक्षम हो तो बाद में अक्षम हो जाए; मैंने भी सक्षम = "सत्य" का प्रयास किया। क्या उचित कीवर्ड सक्षम है ??
k.ken

2
@ k.ken नहीं, कीवर्ड "अक्षम" है। यदि आप प्रारंभ में सक्षम बटन चाहते हैं, तो विशेषता disabledको बिल्कुल भी न डालें । बस उपयोग करें <input type="button" value="Submit" />। और स्थिति बदलते समय, उपयोग .prop("disabled", true);(या false)
इयान

10

आप इसे आसानी से सीधे जावास्क्रिप्ट के साथ आसानी से कर सकते हैं, कोई पुस्तकालयों की आवश्यकता नहीं है।

एक बटन सक्षम करें

document.getElementById("Button").disabled=false;

एक बटन अक्षम करें

 document.getElementById("Button").disabled=true;

कोई बाहरी पुस्तकालय आवश्यक नहीं है।


4

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



0

JQuery के बिना अक्षम इनपुट सरल हो जाएगा

Button.disabled=1;


0
 <!--Button Disable Script-->
    <script type="text/javascript">
        function DisableButton() {
            document.getElementById("<%=btnSave.ClientID %>").disabled = true;
        }
        window.onbeforeunload = DisableButton;
    </script>
    <!--Button Disable Script-->

0

जबकि सीधे सवाल से संबंधित नहीं है, अगर आप इस सवाल पर आशा करते हैं कि ठेठ इनपुट तत्वों के अलावा कुछ और अक्षम करना चाहते हैं button, input, textarea , वाक्यविन्यास काम नहीं करेगा।

डिव या स्पैन को डिसेबल करने के लिए, सेटएट्रिब्यूट का उपयोग करें

document.querySelector('#somedivorspan').setAttribute('disabled', true);

पुनश्च: मिल गया, केवल इसे कॉल करें यदि आप अक्षम करने का इरादा रखते हैं। क्रोम 83 संस्करण में एक बग दूसरा पैरामीटर झूठा होने पर भी इसे हमेशा अक्षम करने का कारण बनता है।


-2

यह निश्चित रूप से काम करेगा।

एक बटन अक्षम करने के लिए

$('#btn_id').button('disable');

एक बटन सक्षम करने के लिए

$('#btn_id').button('enable');

-6

स्टिक से php ...

न केवल बटन एक बार उपरोक्त मानदंडों को पूरा करने के लिए दिखाई देने की अनुमति क्यों नहीं देता है।

<?
if (whatever == something) {
    $display = '<input id="Button" type="button" value="+" style="background-color:grey" onclick="Me();"/>';
    return $display;
}
?>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.