दिलचस्प पोस्ट
{"<user xmlns = ''> उम्मीद नहीं की गई थी।) ट्विटर एक्सपेराइलिंग करना स्विफ्ट: प्रिंट () बनाम प्रिंट्लएन () बनाम एनएसएलॉग () फ़ंक्शन नाम के सामने जावास्क्रिप्ट प्लस चिह्न क्या आर% में%%% का मतलब है? मैं एचटीएमएल 5 फॉर्म सत्यापन डिफ़ॉल्ट त्रुटि संदेश कैसे बदल सकता / सकती हूं? कैसे कार्य करते हुए कुछ कॉलम में अलग-अलग स्ट्रिंग्स को स्ट्र्रेस करने के लिए वेबसाइट स्क्रीनशॉट बनाने के लिए कमांड लाइन प्रोग्राम (लिनक्स पर) ओरेकल में कॉलमों को अल्पविराम विभाजित किए गए मान को विभाजित करें Windows.Forms.Timer या सिस्टम। थ्रेडिंग। टाइमर डायरेक्ट कास्टिंग बनाम 'एसे' ऑपरेटर? Firebase अनुमति अस्वीकृत क्या SQL सर्वर में इंडेक्स और कवर किए गए क्वेरीज़ कवर कर रहे हैं? कौन सा ECMAScript 6 सुविधाएं सख्त मोड दर्शाती हैं? Import android.support.v7 को हल नहीं किया जा सकता इंटरफ़ेस बिल्डर में ऑटोलेआउट (बाधाएं) निकालें

सुनिश्चित करें कि कम से कम एक चेकबॉक्स को चेक किया गया है

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

जेएस (गलत)

function valthis(){ if (document.FC.c1.checked) { alert ("thank you for checking a checkbox") } else { alert ("please check a checkbox") } } 

एचटीएमएल

 <p>Please select at least one Checkbox</p> <br> <br> <form name = "FC"> <input type = "checkbox" name = "c1" value = "c1"/> C1 <br> <input type = "checkbox" name = "c1" value = "c2"/> C2 <br> <input type = "checkbox" name = "c1" value = "c3"/> C3 <br> <input type = "checkbox" name = "c1" value = "c4"/> C4 <br> </form> <br> <br> <input type = "button" value = "Edit and Report" onClick = "valthisform();"> 

तो जेएस में जो कुछ खत्म हो गया था वह यह था:

 function valthisform(){ var chkd = document.FC.c1.checked || document.FC.c2.checked||document.FC.c3.checked|| document.FC.c4.checked if (chkd == true){ } else { alert ("please check a checkbox") } } 

मैंने शेष भाग के साथ फिट होने के लिए "धन्यवाद" हिस्सा छोड़ने का निर्णय लिया। बहुत बहुत धन्यवाद, हर कोई सलाह वास्तव में मदद की।

वेब के समाधान से एकत्रित समाधान "सुनिश्चित करें कि कम से कम एक चेकबॉक्स को चेक किया गया है"

यदि आप document.FC.c1 तरह उन्हें संदर्भित करने की योजना बनाते हैं, तो आपको उसी नाम के साथ दो चेकबॉक्स होने से बचना चाहिए .FC.c1। अगर आपके पास c1 नामक एक से अधिक चेकबॉक्सेस हैं, तो ब्राउज़र कैसे पता चलेगा कि आप किस बात का उल्लेख कर रहे हैं?

यह जांचने के लिए एक गैर- jQuery समाधान है कि पृष्ठ पर कोई चेक बॉक्स चेक किए गए हैं या नहीं।

 var checkboxes = document.querySelectorAll('input[type="checkbox"]'); var checkedOne = Array.prototype.slice.call(checkboxes).some(x => x.checked); 

आपको Array.prototype.slice.call . Array.prototype.slice.call भाग की जरूरत है, document.querySelectorAll द्वारा लौटाई Array.prototype.slice.call को कनवर्ट Array.prototype.slice.call एक सरणी में जो आप some कॉल कर सकते हैं।

यह काम करना चाहिए:

 function valthisform() { var checkboxs=document.getElementsByName("c1"); var okay=false; for(var i=0,l=checkboxs.length;i<l;i++) { if(checkboxs[i].checked) { okay=true; break; } } if(okay)alert("Thank you for checking a checkbox"); else alert("Please check a checkbox"); } 

यदि आपके पास कोड के बारे में कोई प्रश्न है, तो बस टिप्पणी करें


मैं प्रदर्शन में सुधार के लिए l=checkboxs.length का उपयोग करता हूँ। देखें http://www.erichynds.com/javascript/javascript-loop-performance-caching-the-length-property-of-an-array/

इसे देखो।

आप अपने नाम के माध्यम से फ़ॉर्म इनपुट का उपयोग नहीं कर सकते। इसके बजाय document.getElements विधियों का उपयोग करें

JQuery का प्रयोग करके, आप केवल उपयोगकर्ता को पिछले जाँच चेकबॉक्स का चयन रद्द करने से रोक सकते हैं।

 $('input[type="checkbox"][name="chkBx"]').on('change',function(){ var getArrVal = $('input[type="checkbox"][name="chkBx"]:checked').map(function(){ return this.value; }).toArray(); if(getArrVal.length){ //execute the code $('#cont').html(getArrVal.toString()); } else { $(this).prop("checked",true); $('#cont').html("At least one value must be checked!"); return false; }; }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <label> <input type="checkbox" name="chkBx" value="value1" checked> Value1 </label> <label> <input type="checkbox" name="chkBx" value="value2"> Value2 </label> <label> <input type="checkbox" name="chkBx" value="value3"> Value3 </label> <div id="cont"></div> 

वेनिला जेएस:

 var checkboxes = document.getElementsByClassName('activityCheckbox'); // puts all your checkboxes in a variable function activitiesReset() { var checkboxesChecked = function () { // if a checkbox is checked, function ends and returns true. If all checkboxes have been iterated through (which means they are all unchecked), returns false. for (var i = 0; i < checkboxes.length; i++) { if (checkboxes[i].checked) { return true; } } return false; } error[2].style.display = 'none'; // an array item specific to my project - it's a red label which says 'Please check a checkbox!'. Here its display is set to none, so the initial non-error label is visible instead. if (submitCounter > 0 && checkboxesChecked() === false) { // if a form submit has been attempted, and if all checkboxes are unchecked error[2].style.display = 'block'; // red error label is now visible. } } for (var i=0; i<checkboxes.length; i++) { // whenever a checkbox is checked or unchecked, activitiesReset runs. checkboxes[i].addEventListener('change', activitiesReset); } 

स्पष्टीकरण:
एक बार सबमिट करने के एक फार्म का प्रयास हो जाने पर, यह आपके चेकबॉक्स खंड के लेबल को अपडेट करेगा ताकि वह चेकबॉक्स को चेक करने के लिए उपयोगकर्ता को सूचित कर सके कि वह अभी तक नहीं है। अगर कोई चेकबॉक्स चेक नहीं होता है, तो एक छिपी हुई 'त्रुटि' लेबल से उपयोगकर्ता को 'कृपया चेक बॉक्स चेक करें' का संकेत दिया जाता है। यदि उपयोगकर्ता कम-से-कम एक चेकबॉक्स को देखता है, तो मूल लेबल फिर से छिपी हुई है, मूल लेबल प्रकट करते हुए। अगर उपयोगकर्ता फिर से सभी चेकबॉक्स को अन-चेक करता है, तो वास्तविक समय में लाल लेबल रिटर्न मिलता है। यह जावास्क्रिप्ट के .addEventListener('change', function(){}); इवेंट द्वारा संभव है (लिखित के रूप में .addEventListener('change', function(){});

 < script type = "text/javascript" src = "js/jquery-1.6.4.min.js" > < / script > < script type = "text/javascript" > function checkSelectedAtleastOne(clsName) { if (selectedValue == "select") return false; var i = 0; $("." + clsName).each(function () { if ($(this).is(':checked')) { i = 1; } }); if (i == 0) { alert("Please select atleast one users"); return false; } else if (i == 1) { return true; } return true; } $(document).ready(function () { $('#chkSearchAll').click(function () { var checked = $(this).is(':checked'); $('.clsChkSearch').each(function () { var checkBox = $(this); if (checked) { checkBox.prop('checked', true); } else { checkBox.prop('checked', false); } }); }); //for select and deselect 'select all' check box when clicking individual check boxes $(".clsChkSearch").click(function () { var i = 0; $(".clsChkSearch").each(function () { if ($(this).is(':checked')) {} else { i = 1; //unchecked } }); if (i == 0) { $("#chkSearchAll").attr("checked", true) } else if (i == 1) { $("#chkSearchAll").attr("checked", false) } }); }); < / script >