मैं इनपुट फ़ील्ड को मान्य करने के लिए एक बहुत ही आसान (लेकिन मेरी आवश्यकताओं के लिए कार्यात्मक) जावास्क्रिप्ट स्क्रिप्ट का उपयोग कर रहा हूं।
यहाँ मेरा मुख्य कोड:
<script language = "javascript">
function manage(txt) {
var bt = document.getElementById('send');
if (txt.value && txt2.value && txt3.value != '') {
bt.disabled = false;
}
else {
bt.disabled = true;
}
}
</script>
यहाँ मेरे क्षेत्र हैं
<input type="text" name="FNAME" id="txt" class="input" size="20" placeholder="First Name *" onkeyup="manage(this)">
<input type="text" name="LNAME" id="txt2" class="input" size="20" placeholder="Last Name *" onkeyup="manage(this)">
<input type="text" name="EMAIL" id="txt3" class="input" size="20" placeholder="Email *" onkeyup="manage(this)">
और यहाँ मेरा सबमिट बटन:
<input type="submit" name="submit" id="send" class="button button-primary" value="Subscribe" disabled>
यह क्या करता है कि सबमिट बटन को तब तक अक्षम कर दिया जाए जब तक कि सभी क्षेत्रों में कुछ मूल्य दर्ज न हो जाए और बिल्कुल ठीक काम न करे, हालांकि मेरे पास एक नया और अतिरिक्त चयन विकल्प भी है:
<select name="Countries">
<option value="">Select Country</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Åland Islands">Åland Islands</option>
<option value="Albania">Albania</option>
......
</select>
मैंने निम्नलिखित परिवर्तनों को लागू करने का प्रयास किया है:
<script language = "javascript">
function manage(txt) {
var bt = document.getElementById('send');
if (txt.value && txt2.value && txt3.value && txt4.value != '') {
bt.disabled = false;
}
else {
bt.disabled = true;
}
}
</script>
<select name="Countries" id="txt4" onkeyup="manage(this)">
<option value="">Select Country</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Åland Islands">Åland Islands</option>
<option value="Albania">Albania</option>
......
</select>
हालांकि यह काम नहीं लग रहा है। कुछ विशेषज्ञ सलाह की बहुत सराहना की जाएगी। आपका बहुत बहुत धन्यवाद।
2 जवाब
उचित रूप है
if (txt.value!='' && txt2.value!='' && txt3.value!='' && txt4.value!='')
आप onkyeup
ईवेंट नहीं, बल्कि onchange
सेट करना चाहते हैं। अधिक सार्वभौमिक घटना है oninput।
आपको required
फॉर्म एलिमेंट्स टैग एट्रिब्यूट की भी जांच करनी चाहिए, जो आपको जावास्क्रिप्ट के बिना समान कार्यक्षमता प्रदान कर सकती है। यहां देखें।
सबसे पहले, अपने चयन पर keyup
ईवेंट सुनना तभी काम करेगा जब कीबोर्ड द्वारा चयन को बदल दिया गया हो। यदि इसे माउस द्वारा बदला गया था, तो आपके ईवेंट को सक्रिय नहीं किया जाएगा। सुनने के लिए बेहतर onchange
दूसरी ओर, आपको सभी टेक्स्ट फ़ील्ड की रिक्तता की जांच करनी चाहिए, जैसा कि आप txt4.value!=''
के लिए करते हैं:
if (txt.value!='' && txt2.value!='' && txt3.value!='' && txt4.value!='') {
...
}