यहाँ मेरा कोड है

var e=document.getElementById('button');
e.addEventListener('click',function yo(e)
{e.preventDefault();
var a=[
        {'quote':"Result: something good is going to happen with you",},
        {'quote':"Result: your future is very bright i think you are going to meet someone special in your life",},
        {'quote':"Result: just be careful things are not looking good",},
        {'quote':"Result: just be patient in your life if you want everything fine",},
        {'quote':"Result: ohh its difficult please retry ",},
        {'quote':"Result: daymn a good news is coming ",},
        {'quote':"Result: be ready for the upcoming storm my friend",},
        {'quote':"Result:  i dont want to tell you ryt now",},
    
];
var count=0;
var b=document.getElementById('user');
var c=document.createElement('p');
var d=document.getElementById('ha');
var f="";
i=Math.floor(Math.random()*8);//Here alone Math.random*8 gives the number between 0 to 7 and always in float
    //so to make it as whole number we put it inside Math floor
    c=b.value;

var l=a[i].quote;
f="<p>Result: "+ c + +l+  "</p>"
d.insertAdjacentHTML('beforeend',f);    
})

मेरी समस्या यह है कि जब मैं उपयोगकर्ता नाम डालता हूं तो यह एक अनुच्छेद में दिखाई देता है लेकिन इसके साथ उद्धरण दिखाने के बजाय यह मुझे NaN दिखाता है।

0
Manshu Chatrath 14 मार्च 2020, 05:22
"जब मैं उपयोगकर्ता नाम डालता हूं" ... बिल्कुल कहां रखें?
 – 
Ja͢ck
14 मार्च 2020, 05:35

2 जवाब

यह वह रेखा है जो यहाँ समस्या पैदा कर रही है:

f="<p>Result: "+ c + +l+  "</p>"

अगर हम इसे तोड़ने की कोशिश करते हैं क्योंकि जावास्क्रिप्ट इसे देखता है तो हमें मिलता है

  • f = (असाइनमेंट)
  • "<p>Result: " (एक स्ट्रिंग)
  • + (संयोजन)
  • c (सी में मान)
  • + (संयोजन)
  • +l (एल में मान पर यूनरी ऑपरेशन)
  • + (संयोजन)
  • "</p>" (स्ट्रिंग)

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

1
Ja͢ck 14 मार्च 2020, 05:36

इसे बदलें f="<p>Result: "+ c + +l+ "</p>" से f="<p>Result: "+ c + l+ "</p>"

आप अनावश्यक जोड़ रहे हैं +

0
Markipe 14 मार्च 2020, 05:31