2013-03-01 10 views
24

मुझे हाल ही में इस साइट पर querySelector का उपयोग फॉर्म इनपुट पर select पर उपयोग करने में मदद मिली है, लेकिन जैसे ही मैंने <select> लिया, यह पूरी तरह से बदल गया कि फ़ंक्शन में क्या किया जाना चाहिए।नाम से इनपुट तत्व चुनने के लिए मैं क्वेरी सिलेक्टर का उपयोग कैसे कर सकता हूं?

HTML:

<form onsubmit="return checkForm()"> 
    Password: <input type="text" name="pwd"> 
    <input type="submit" value="Submit"> 
</form> 

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

<script language="Javascript" type="text/javascript"> 
    debugger; 
    function checkForm() { 
     var form = document.forms[0]; 
     var selectElement = form.querySelector(''); 
     var selectedValue = selectElement.value; 

     alert(selectedValue); 
</script> 

, इससे पहले कि मैं querySelector के लिए ('select') था, लेकिन अब मैं अनिश्चित क्या वहाँ डाल करने के लिए कर रहा हूँ।
मैंने कई चीजों के साथ-साथ querySelectorAll की कोशिश की है लेकिन मुझे इसे समझने की प्रतीत नहीं हो रही है।

स्पष्ट होने के लिए मैं name="pwd" खींचने की कोशिश कर रहा हूं।

मैं यह कैसे कर सकता हूं?

+0

'querySelector' विधि' चयनकर्ता 'तर्क लेता है। 'चयनकर्ता' तर्क एक स्ट्रिंग है जिसमें अल्पविराम से अलग एक या अधिक सीएसएस चयनकर्ता होते हैं। यदि आप कभी भी वैध चयनकर्ताओं पर फंस गए हैं तो एमडीएन के पास [** चयनकर्ता **] (https://developer.mozilla.org/en-US/docs/CSS/Getting_Started/Selectors) पर एक शानदार पृष्ठ है। बेशक आप हमेशा एसओ पर भी मदद प्राप्त कर सकते हैं। मैंने सोचा कि आपको पृष्ठ सामान्य रूप से एक आसान संदर्भ मिल सकता है :) – Nope

+0

धन्यवाद एक बार फिर: डी –

उत्तर

37

आप कोशिश कर सकते हैं 'इनपुट [नाम = "pwd"]':

function checkForm(){ 
    var form = document.forms[0]; 
    var selectElement = form.querySelector('input[name="pwd"]'); 
    var selectedValue = selectElement.value; 
} 

एक देखो एक इस http://jsfiddle.net/2ZL4G/1/

+1

मैंने कोशिश की है लेकिन मुझे कुछ भी वापस नहीं लगता है और मुझे कोई चेतावनी नहीं मिली –

+0

हम्म, wth .. मैंने कोशिश की है यह कई बार और यह अभी भी इस विधि के साथ काम नहीं करता है, लेकिन यह jsfiddle में काम करता है? क्या मैं कुछ भूल रहा हूँ? इसके अलावा यह पता बार में दिखाई देता है, इसलिए मुझे पता है कि यह इनपुट प्राप्त कर रहा है, बस मुझे कोई अलर्ट नहीं मिला –

+0

@ एंथनीटोबस्कस: यदि आपके कोड में अभी भी 'डीबगर है;' इसमें से कथन शेष कोड का कारण बन सकता है निष्पादित नहीं करना क्योंकि यह उस रेखा पर निष्पादन को रोक देगा। – Nope

1

इन उदाहरणों थोड़ा अक्षम प्रतीत ले। यदि आप मूल्य पर कार्रवाई करना चाहते हैं इस प्रयास करें:

<input id="cta" type="email" placeholder="Enter Email..."> 
<button onclick="return joinMailingList()">Join</button> 

<script> 
    const joinMailingList =() => { 
     const email = document.querySelector('#cta').value 
     console.log(email) 
    } 
</script> 

यदि आप वसा तीर (=>) के साथ this कीवर्ड का उपयोग मुद्दे का सामना करेंगे। आपको लगता है कि क्या करने की जरूरत है, तो पुराने स्कूल जाना:

<script> 
    function joinMailingList() { 
     const email = document.querySelector('#cta').value 
     console.log(email) 
    } 
</script> 

आप पासवर्ड जानकारी के साथ काम कर रहे हैं, तो आप type="password" का उपयोग करना चाहिए, तो यह प्रदर्शित करेगा ****** जबकि उपयोगकर्ता लिख ​​रहा है, और यह भी है अधिक अर्थपूर्ण

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

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