मैंने एक व्यवस्थापक पृष्ठ बनाया जहां मैं समान प्रकार = 'नाम' के मान इनपुट करता हूं जो रेडियो बटन के रूप में किसी अन्य पृष्ठ पर सबमिट करने पर पॉप अप होगा। लेकिन मुझे उस पृष्ठ पर कंसोल से 'शून्य की संपत्ति मूल्य नहीं पढ़ सकता' त्रुटि मिल रही है जहां रेडियो बटन पोस्ट किए गए हैं।

let answer = document.querySelector('input[name="choice"]:checked').value;
-1
NURUDEEN ADEOLA ADEWALE 11 अक्टूबर 2019, 22:15
आप इसे इस तरह के क्वेरी चयनकर्ता के साथ क्यों कर रहे हैं? एक रेडियो बटन का पूरा बिंदु यह है कि एक ही नाम के कई रेडियो एक ही मान लेते हैं; उदाहरण के लिए, यदि रेडियो testForm नाम के रूप में है, तो आप वर्तमान में चेक किया गया मान प्राप्त करने के लिए document.testForm.choice.value कर सकते हैं। कोई क्वेरी चयनकर्ता की आवश्यकता नहीं है।
 – 
IceMetalPunk
11 अक्टूबर 2019, 22:17
यदि querySelector शून्य लौटाता है, तो आपका दृष्टिकोण भी काम नहीं करेगा...
 – 
FZs
11 अक्टूबर 2019, 22:24
हो सकता है, हालांकि कोई कारण हो सकता है कि क्वेरी चयनकर्ता अशक्त लौट रहा है जो सामान्य नामित दृष्टिकोण को नहीं तोड़ेगा। एचटीएमएल देखे बिना बताना मुश्किल है। (यह हो सकता है कि अभी तक किसी भी रेडियो विकल्प की जांच नहीं की गई है, इस मामले में नामित दृष्टिकोण कम से कम कोई त्रुटि नहीं फेंकेगा।)
 – 
IceMetalPunk
11 अक्टूबर 2019, 22:57

2 जवाब

var radios = document.getElementsByName('genderS');

for (var i = 0, length = radios.length; i < length; i++) {
    if (radios[i].checked) {
        // do whatever you want with the checked radio
        alert(radios[i].value);

        // only one radio can be logically checked, don't check the rest
        break;
    }
}
<label for="gender">Gender: </label>
<input type="radio" name="genderS" value="1" checked="checked">Male</input>
<input type="radio" name="genderS" value="0" >Female</input>
0
Khalil 11 अक्टूबर 2019, 22:26
यह वास्तव में एक प्रश्नोत्तरी ऐप है जहां मेरे पास प्रश्न और विकल्प इनपुट करने के लिए व्यवस्थापक पृष्ठ है

प्रश्न:

विकल्प 1: < इनपुट प्रकार = "टेक्स्ट" आईडी = "विकल्प 1"

विकल्प 2: <इनपुट प्रकार = "पाठ" आईडी = "विकल्प 2"

विकल्प 3: <इनपुट प्रकार = " text" id="option3">

विकल्प 4:

उत्तर:

 – 
NURUDEEN ADEOLA ADEWALE
12 अक्टूबर 2019, 08:36
और प्रश्न पृष्ठ उन इनपुट को पॉप्युलेट करने के लिए जहां विकल्प रेडियो बटन में हैं

{{question}}

<इनपुट प्रकार='रेडियो' id="r1" value="opt1" name='choice'> {{option1}}
{{option2}}
<इनपुट टाइप ='रेडियो' id="r3" value="opt3" name='choice'>{{option3}}
{{option4}}
 – 
NURUDEEN ADEOLA ADEWALE
12 अक्टूबर 2019, 08:36
इसलिए मैं प्रत्येक प्रश्न पर चेक किए गए बटन के मान की तुलना उत्तर के मान से करने का प्रयास कर रहा हूं। इसलिए मुझे लगता है कि मुझे प्रत्येक प्रविष्टि की आईडी पर काम करने की आवश्यकता है
 – 
NURUDEEN ADEOLA ADEWALE
12 अक्टूबर 2019, 08:36
प्रश्न मानों को स्थिर से {{option1}} में बदलें और फिर से प्रयास करें jsfiddle.net/0eoxpLck/7
 – 
Khalil
13 अक्टूबर 2019, 19:30

आपके द्वारा प्रदान किया गया स्निपेट काम करना चाहिए। यह मानता है कि HTML में इनपुट फ़ील्ड हैं:

  1. name="choice", और
  2. जाँच की गई है

एचटीएमएल देखे बिना, यह कहना मुश्किल है, लेकिन शायद एचटीएमएल में टाइपो की तलाश करें।

document.getElementById('button').addEventListener('click', () => {
  const radio = document.querySelector('input[name="choice"]:checked');
  if (radio) {
    const answer = radio.value;
    console.log(`choice ${answer}`);
  } else {
    console.log('no choice');
  }
});
<label><input type="radio" name="choice" value="1" /> One</label>
<label><input type="radio" name="choice" value="2" /> Two</label>
<div>
  <button id="button">Click</button>
</div>
0
Soc 12 अक्टूबर 2019, 00:41