2011-05-02 5 views
5

मैं टेक्स्ट फ़ील्ड मानों को पढ़ सकता हूं, लेकिन जब मैं चयनित रेडियो बटन खोजने का प्रयास करता हूं, तो मुझे कुछ भी नहीं मिलता है।चयनित रेडियो बटन खोजने का प्रयास कर रहा है। क्या गलत है?

$(document).ready(function(){ 

    $("form#create_form").submit(function() { 

    var title  = $('#title').attr('value'); 
    var owner  = $('#owner').attr('value'); 
    var users  = $('#users').attr('value'); 
    var groups  = $('#groups').attr('value'); 
    var begin_date = $('#begin_date').attr('value'); 
    var end_date = $('#end_date').attr('value'); 

    // get selected radio button 
    var type = ''; 
    for (i=0; i<document.forms[0].type.length; i++) { 
     if (document.forms[0].type[i].checked) { 
     type = document.forms[0].type[i].value; 
     } 
    } 

HTML:

<div class="create-new"> 
    <form id="create_form" name="create_form" action="" method="post"> 
    ... 
    <input name="type" id="type" value="individuel" type="radio" /> Individuel <br/> 
    <input name="type" id="type" value="course"  type="radio" /> Course <br/> 

    <button class="n" type="submit">Create</button> 
    </form> 

क्या मैं गलत कर रहा हूँ?

उत्तर

2

मेरे द्वारा चुने गए रेडियो बटन हो रही (आप पहले से ही jQuery का उपयोग कर रहे के बाद से) के लिए एक वैकल्पिक पद्धति सुझाव है:

$('input:radio[name=type]:checked').val(); 

यह समाधान .val() पर एक उदाहरण है।

उपर्युक्त समाधान अधिक संक्षिप्त है, और यदि भविष्य में अन्य रूप जोड़े गए हैं तो आप भविष्य में किसी भी संघर्ष से बचें (यानी आप संभावित खतरनाक document.forms[0] से बच सकते हैं)।

अद्यतन

मैं निम्नलिखित बेला के साथ अपने मूल कार्य परीक्षण किया है और यह काम करता है:

http://jsfiddle.net/nujh2/

केवल परिवर्तन मैंने बनाया पाश चर i के सामने एक var जोड़ने था।

+0

मैं इसे काम पर नहीं ला सकता। क्या मुझे HTML में कोई बदलाव करने की ज़रूरत है? मैं उम्मीद करता हूं कि 'टाइप' या तो "इंडिवुअल" या "कोर्स" है, लेकिन अगर मैं' अलर्ट (+ टाइप) करता हूं, तो मुझे 'NaN' मिलता है। –

+0

आप अलर्ट में '+' क्यों जोड़ रहे हैं? आपको केवल 'अलर्ट (प्रकार)' करने की आवश्यकता है। – McStretch

+0

अच्छा बिंदु =) और अब आपका समाधान भी काम करता है! मुझे पता नहीं है कि मैंने आपके समाधान को लागू करने के बाद क्या गलत किया है। धन्यवाद =) –

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