2013-11-27 12 views
7

मैं जावास्क्रिप्ट के लिए नया हूं और कॉलेज के लिए मेरी परियोजना के हिस्से के रूप में मुझे कुछ शामिल करने की आवश्यकता है। मैं एक साधारण .js फ़ाइल बनाई और मेरे index.html का उपयोग कर <script src="main.js"></script>Uncaught TypeError: स्ट्रिंग एक फ़ंक्शन नहीं है

मैं sellYourHome.html नामक एक और पेज बनाया है और एक मेज के साथ एक <section> टैग जोड़ा और एक सरल रूप है कि एक कमीशन की गणना करता है बनाया है और परिणामों को वापस प्रदर्शित करता है फ़ाइल से लिंक इनपुट क्षेत्र में।

function comCalc() 
{ 
prcHouse = parseFloat(document.getElementById('prcHouse').value); 
commision = 0.25; 
result = prcHouse * commision; 
document.getElementById('prcHouse').value = result.toString(); 
} 

यह काम किया।

अब उस फ़ंक्शन के तहत, मैं एक और बनाना चाहता था जो <div> तत्व उठाता है और नीले रंग के कहने के लिए background-color बदलता है।

इसलिए मैंने index.html पर एक फॉर्म बनाया और उसी तरह से .js फ़ाइल को उसी तरह से लिंक किया।

Uncaught TypeError: String is not a function

मैं:

function comCalc() 
{ 
    prcHouse = parseFloat(document.getElementById('prcHouse').value); 
    commision = 0.25; 
    result = prcHouse * commision; 
    document.getElementById('prcHouse').value = result.toString(); 
} 

function bgColor(color) 
{ 
    var div = document.getElementById('mainContent'); 
    div.style.background=color; 
} 

जब मैं इस चलाने के लिए, मैं कंसोल पर इस त्रुटि मिलती है:

<div id="mainContent"> 
    <p>hello</p> 
    <form id="bgColor"> 
     <table> 
      <tr> 
       <td> 
        <input type="button" value="blue" onclick="bgColor('blue');"> 
       </td> 
      </tr> 
     </table> 
    </form><!-- end of bgColor Form--> 
</div> 

मेरे जावास्क्रिप्ट इसलिए की तरह है:

यह मेरी HTML है मैं इसे SWRIron नामक ब्राउज़र में चला रहा हूं (जो क्रोम पर आधारित है और HTML5-complient है)।

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

+6

मुझे कहीं भी 'स्टिंग' नहीं दिख रहा है – Brian

+0

मेरी एपॉल्जियां दोनों उदाहरणों में टाइपो स्टिंग = "स्ट्रिंग" – StudentwebCoding

उत्तर

5

यह, अपने कार्य नाम bgColor की वजह से है, क्योंकि bgcolorHTML तत्व की एक विशेषता है और यह इस एक attribute (स्ट्रिंग) के रूप में अपने समारोह bgcolor, ब्राउज़र व्यवहार करता है के साथ संघर्ष कर रहा है, लेकिन आप एक समारोह के रूप में इसका इस्तेमाल किया तो यह string is not a function कहते हैं। तो, के रूप में

<input type="button" value="blue" onclick="setBgColor('blue');" /> 

Example.

+0

धन्यवाद, यह पूरी तरह से काम करता है! – StudentwebCoding

+0

@StudentwebCoding, आपका स्वागत है :-) –

+3

सही उत्तर तो ....? – Celt

0

हाँ, यह प्रयोग करें

function setBgColor(color) 
{ 
    var div = document.getElementById('mainContent'); 
    div.style.background = color; 
} 

की तरह कुछ और करने के लिए समारोह का नाम बदलें। चूंकि बीजीकॉलर एचएमटीएल के लिए आरक्षित सिस्टम है, इसलिए यह "अनकॉट टाइप एरर: स्ट्रिंग एक फ़ंक्शन नहीं है" नामक एक त्रुटि फेंकता है। यदि आप विधि का नाम बदलते हैं, तो यह ठीक काम करेगा और ठीक काम करेगा।

+0

यह अन्य उत्तर में कुछ भी नहीं जोड़ता है। – Scimonster

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