2012-04-26 4 views
6

में रेडियो बटन सत्यापन को रेडियो बटन इनपुट को सत्यापित करने की आवश्यकता है, यानी जब सबमिट बटन दबाया जाता है और कोई रेडियो बटन नहीं चुना जाता है, तो यह उपयोगकर्ता को 'चेक बॉक्स का चयन करें' कहता है, और यदि कोई रेडियो बटन रहा है चयनित तो बस फॉर्म जमा करें, कोई चेतावनी की आवश्यकता नहीं है।जावास्क्रिप्ट

केवल इसके लिए एचटीएमएल सीएसएस और जावास्क्रिप्ट का उपयोग कर सकते हैं, मुझे पता है कि यह jquery में 1000 गुना आसान है लेकिन दुख की बात है कि मैं इसका उपयोग नहीं कर सकता।

और मुझे पता है कि मेरा HTML मान्य नहीं है, लेकिन जब तक यह मेरी वर्तमान समस्या को सीधे प्रभावित नहीं करता है तो मैं इसे बाद में संभाल दूंगा।

<form name="form1" action="#" onsubmit="return validateForm()" method="post"> 

    First time visitor?:<br/> 
      <label for="s1">Yes</label> 
      <input type="radio" id="1" name="yesno" value="1"/> 
      <br/> 
      <label for="s2">No</label> 
      <input type="radio" id="1" name="yesno" value="2"/> 

      <br/>  

    <input type="submit" value="Submit"><br/> 
    </form> 

किसी भी पॉइंटर्स की बहुत सराहना की जाती है, धन्यवाद।

+0

आप अपने प्रश्न एक दूसरे पर नकारात्मक टिप्पणी की वजह से ही एक रीमेक बनाने को नष्ट कर दिया? बीटीडब्ल्यू, अमान्य मार्कअप (डुप्लिकेट आईडी की तरह) * * आपकी वर्तमान समस्या को सीधे प्रभावित करता है। –

+0

नोटिस: आईडी – keune

+0

@benji से शुरू नहीं होनी चाहिए कृपया आपको वैध फ़ॉर्म फ़ंक्शन पोस्ट करें। –

उत्तर

0
document.forms[ 'forms1' ].onsubmit = function() { 
    return [].some.call(this.elements, function(el) { 
     return el.type === 'radio' ? el.checked : false 
    }) 
} 

बस मेरे सिर से कुछ बाहर। सुनिश्चित नहीं है कि कोड काम कर रहा है।

13

पहला: यदि आप जानते हैं कि आपका कोड सही नहीं है, तो आपको कुछ भी करने से पहले इसे ठीक करना चाहिए! जावास्क्रिप्ट के साथ http://jsfiddle.net/FhgQS/

+0

बहुत अच्छा काम। –

+0

उस स्क्रिप्ट को 2 से अधिक रेडियो बटनों के लिए काम करना चाहिए, है ना? मैं आपके कोड का उपयोग कर रहा हूं, लेकिन मुझे एक त्रुटि मिल रही है जो वैध है Form() अपरिभाषित है? आपको क्या लगता है कि इसका कारण बन रहा है? – Radi

+0

मुझे पता चला कि समस्या क्या थी। मैंने इसे jsFiddle से कॉपी किया और छिपा वर्ण जोड़ दिया जो मेरे कोड को एक त्रुटि को हल करने का कारण बनता है। यहां अधिक विवरण वाले पृष्ठ हैं http://stackoverflow.com/questions/4404526/unexpected-token-illegal-in-webkit – Radi

8

पूर्ण मान्यता उदाहरण:

आप कुछ इस तरह कर सकता है:

function validateForm() { 
    var radios = document.getElementsByName("yesno"); 
    var formValid = false; 

    var i = 0; 
    while (!formValid && i < radios.length) { 
     if (radios[i].checked) formValid = true; 
     i++;   
    } 

    if (!formValid) alert("Must check some option!"); 
    return formValid; 
}​ 

यह देखें कार्रवाई में

<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>Radio button: full validation example with javascript</title> 
     <script> 
      function send() { 
       var genders = document.getElementsByName("gender"); 
       if (genders[0].checked == true) { 
        alert("Your gender is male"); 
       } else if (genders[1].checked == true) { 
        alert("Your gender is female"); 
       } else { 
        // no checked 
        var msg = '<span style="color:red;">You must select your gender!</span><br /><br />'; 
        document.getElementById('msg').innerHTML = msg; 
        return false; 
       } 
       return true; 
      } 

      function reset_msg() { 
       document.getElementById('msg').innerHTML = ''; 
      } 
     </script> 
    </head> 
    <body> 
     <form action="" method="POST"> 
      <label>Gender:</label> 
      <br /> 
      <input type="radio" name="gender" value="m" onclick="reset_msg();" />Male 
      <br /> 
      <input type="radio" name="gender" value="f" onclick="reset_msg();" />Female 
      <br /> 
      <div id="msg"></div> 
      <input type="submit" value="send>>" onclick="return send();" /> 
     </form> 
    </body> 
</html> 

सादर,

फर्नांडो

+0

काम कर रहा है। धन्यवाद .. +1 .. –

+0

आपका स्वागत है ;-) – Fernando

0

उपरोक्त जावास्क्रिप्ट समाधान के अलावा, आप मार्कअप में आवश्यक रेडियो बटन को चिह्नित करके एचटीएमएल 5 समाधान का भी उपयोग कर सकते हैं। यह किसी भी जावास्क्रिप्ट की आवश्यकता को खत्म कर देगा और ब्राउज़र को आपके लिए काम करने देगा।

इस अच्छी तरह से कैसे करें इस बारे में अधिक जानकारी के लिए HTML5: How to use the "required" attribute with a "radio" input field देखें।

1
<form action="" method="post" name="register_form" id="register_form" enctype="multipart/form-data"> 

    <div class="text-input"> 
     <label>Gender: </label> 
     <input class="form-control" type="radio" name="gender" id="male" value="male" /> 
     <label for="male">Male</label> 
     <input class="form-control" type="radio" name="gender" id="female" value="female" /> 
     <label for="female">Female</label> 
    </div> 
    <div class="text-input" align="center"> 
     <input type="submit" name="register" value="Submit" onclick="return radioValidation();" /> 
    </div> 

</form> 

<script type="text/javascript"> 
    function radioValidation(){ 

     var gender = document.getElementsByName('gender'); 
     var genValue = false; 

     for(var i=0; i<gender.length;i++){ 
      if(gender[i].checked == true){ 
       genValue = true;  
      } 
     } 
     if(!genValue){ 
      alert("Please Choose the gender"); 
      return false; 
     } 

    } 
</script> 

स्रोत: http://chandreshrana.blogspot.in/2016/11/radio-button-validation-in-javascript.html

संबंधित मुद्दे