2013-03-25 7 views
5

मैं एक छोटी सी समस्या की तरह लग रहा हूं और शायद मैं इसे खोने के लिए खुद को लात मार रहा हूं .. वैसे भी, मेरी समस्या यह है कि मैं एक टेक्स्ट फ़ील्ड से मूल्य प्राप्त करने में विफल रहा हूं ।JQuery वैल() खाली लौट रहा है

HTML:

<form> 
     <label for="">Enter Username:</label> 
     <input id="usernameText" type="text" size="30" /> 
     &nbsp;&nbsp;<input type="button" value="Generate" onclick="generateQuery(); return  false;" /> 
</form> 

जावास्क्रिप्ट:

<script type="text/javascript"> 

     var username = $("#usernameText").val(); 

     function generateQuery(){ 

      alert(username); 

     } 
</script> 

मैं निम्नलिखित if (jQuery) {.. किया था और यकीन है कि JQuery भरी हुई है बनाया है।

अलर्ट में यह एक खाली संवाद बॉक्स प्रदर्शित करता है।

यदि मैंने अपनी स्क्रिप्ट में $(document).ready(); शामिल किया है तो फ़ंक्शन generateQuery कॉल नहीं किया जाता है। कोई विचार क्यों ..?

<script type="text/javascript"> 

    $(document).ready(function(){ 
     var username = $("#usernameText").val(); 

     function generateQuery(){ 

      alert(username); 

     } 
    });  
</script> 
+0

@PSR: मैंने, नोट्स में इसका उल्लेख किया है। – kaizenCoder

उत्तर

10

समारोह के भीतर अपने चर असाइन करें।

function generateQuery(){ 
    var username = $("#usernameText").val(); 
    alert(username); 
} 

अपने अन्य प्रश्न का सवाल है, "अगर मैं शामिल $ (document) .ready();।? मेरी स्क्रिप्ट में समारोह उत्पन्न बुलाया नहीं प्राप्त करता है किसी भी विचार क्यों .."

यह दायरे के कारण होता है। जब आप document.ready हैंडलर जोड़ते हैं तो आप generateQuery को अज्ञात फ़ंक्शन के अंदर लपेटते हैं, और इसलिए यह आपके button onclick="generateQuery()" कोड पर दिखाई नहीं देता है।

3

यहाँ जबकि पेज loading.So जब भी पृष्ठ पाठ बॉक्स लोड कर रहा है है यह फोन करेगा empty.Try एक समारोह के भीतर लिखने के लिए है।

function generateQuery(){ 
    var username = $("#usernameText").val(); 
    alert(username); 
} 

जब आप document.ready यह कैलोरी जाएगा में लिखने; एल पेज है, जबकि loading.If आप उपयोगकर्ता नाम के मूल्य की जरूरत है तो स्पष्ट रूप से कहते हैं।

-1

आप फ़ंक्शन को कॉल कर रहे हैं ????

मैं आप की जरूरत है:

<script type="text/javascript"> 

    $(document).ready(function(){ 
     generateQuery(); 


    });  

function generateQuery(){ 
    var username = $("#usernameText").val(); 
      alert(username); 

     } 
</script> 
+0

इसे इनपुट फ़ील्ड के बदले में बुलाया जा रहा है। – judda

1

मूल्य पहली बार प्राप्त किया जा रहा है। तो जब पृष्ठ पहले लोड किया जाता है।

<script type="text/javascript"> 
     function generateQuery(){ 
      var username = $("#usernameText").val(); 
      alert(username); 

     } 
</script> 
0

यहाँ आप समारोह आप क्रम में समारोह कॉल करने के लिए यह प्रयोग चलाने इस generateQuery(); लाइन अपने समारोह कॉल करने के लिए प्राप्त करने के लिए परिभाषित कर रहे हैं।

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