2013-04-30 14 views
5

मैं इनपुट फ़ील्ड को चेकबॉक्स को चेक करने से सक्रिय करना चाहता हूं।इनपुट चेकबॉक्स से इनपुट फ़ील्ड सक्रिय करें

मैं यहाँ एक बुनियादी रूप है:

<ul> 
<li> 
    <label id="form-title" for="name3">Specifics:</label> 
<li> 
    <textarea id="name3" name="name3" > 

    </textarea> 
</li> 

</ul> 

आप "विशिष्ट तथ्य पर क्लिक करें और यह क्षेत्र को सक्रिय करता है यह एक लेबल टैग के बजाय एक इनपुट टैग के साथ किया जा सकता है

उदाहरण।?:

<ul> 
<li> 
    <input type="checkbox" for="name2">Other...</input> 
    <input id="name2" name="name2" /> 
</li> 
</ul> 

पूरा काम के jsfiddle अब तक: http://jsfiddle.net/Sederu/gaZDW/

+0

क्या आप चेकबॉक्स चेक पर टेक्स्टरेरा को सक्षम और अक्षम करने के बारे में बात कर रहे हैं और अनचेक करते हैं? –

+0

पहले मामले में मैंने एक टेक्स्टरेरा का उपयोग किया था, लेकिन इस स्थिति में मुझे इनपुट बॉक्स के लिए इसकी आवश्यकता है (यदि आप बस '') प्राप्त करते हैं तो आपको क्या मिलता है। तो आप "अन्य" के लिए बॉक्स को चेक करते हैं और वह इनपुट फ़ील्ड को सक्रिय करता है। –

उत्तर

13

इसके लिए आपको थोड़ा ईएमसीएस्क्रिप्ट चाहिए।

<label for="name3"> 
    <input type="checkbox" id="name3activaitor" onclick="if(this.checked){ document.getElementById('name3').focus();}" /> 
    Other... 
</label> 
<input type="text" id="name3" name="name3" /> 

इनलाइन हैंडलर देखता है कि चेकबॉक्स चेक किया गया है, और यदि यह है, तो टेक्स्ट इनपुट पर केंद्रित है। मैंने लेबल में चेकबॉक्स को केवल लेबल के साथ समेकित रूप से समूहित करने के लिए रखा है क्योंकि यह उसी फ़ंक्शन को पूर्ववत करता है, लेकिन आप कहीं भी चेकबॉक्स डाल सकते हैं।

लिए सक्षम/नहीं बल्कि सिर्फ यह ध्यान केंद्रित से इनपुट क्षेत्र को निष्क्रिय करने के लिए देख रहे हैं, तो आप की तरह तो

 <input type="checkbox" onclick="var input = document.getElementById('name2'); if(this.checked){ input.disabled = false; input.focus();}else{input.disabled=true;}" />Other... 
     <input id="name2" name="name2" disabled="disabled"/> 
+0

तो एचटीएमएल के साथ ऐसा करने का कोई संभावित तरीका नहीं है? –

+1

नहीं, विशेषता के लिए केवल लेबल पर काम करता है। –

+0

मुझे काम करने वाला पहला जावास्क्रिप्ट मिला, लेकिन काम करने के लिए दूसरा नहीं मिला। यह अलग-अलग क्या करता है? सक्षम/अक्षम करके आपका क्या मतलब है? –

4

के लिए इनपुट टैग के लिए मौजूद नहीं है विशेषता कर सकते हैं। अपने उद्देश्य के लिए, इनलाइन जावास्क्रिप्ट कोड का उपयोग करें और विशेषता विकलांग:

<input type="checkbox" id="checkbox1" onclick="if (this.checked){ document.getElementById('textarea1').removeAttribute('disabled');}" /> 
<textarea id="textarea1" name="textarea1" disabled></textarea> 
1

आप थोड़ा जावास्क्रिप्ट के साथ ऐसा कर सकते हैं,

एचटीएमएल

<ul> 
<li> 
    <input type="checkbox" id="checker" for="name2">Other...</input> 
    <input id="name2" name="name2" /> 
</li> 
</ul> 

JAVASCRIPT

document.getElementById('checker').onchange = function() { 
if(this.checked==true){ 
    document.getElementById("name2").disabled=false; 
    document.getElementById("name2").focus(); 
} 
else{ 
    document.getElementById("name2").disabled=true; 
} 
}; 

आशा है कि यह मदद मिलेगी

-1

अन्य उत्तर काम सब के सब है, लेकिन यह एक सरल है ::

<input type="checkbox" id="checkbox"><label class="checkbox" for="checkbox"> Remember Me! 

स्पष्टीकरण:

  • <input टैग बुला परिभाषित करता है।
  • type="checkbox" इसे परिभाषित करना एक चेकबॉक्स है।
  • id="checkbox"> इसे "चेकबॉक्स" के रूप में पहचानते हैं।
  • <label class="checkbox" इसे "चेकबॉक्स" के रूप में वर्गीकृत किया गया।
  • for="checkbox"> कॉल करता है कि आईडी "चेकबॉक्स"
  • Remember Me! चेकबॉक्स के बगल में यह क्या कहता है।
संबंधित मुद्दे