2010-04-20 22 views
6
के साथ पहली बार नहीं है

नीचे दिए गए विकल्पों मैं अपने एचटीएमएल कोड में होती है सबसे पहला।चेक अगर लटकती के चयनित विकल्प जावास्क्रिप्ट

if (document.getElementsByTagName('option') == "nothing"){ 
    document.getElementById("subn").innerHTML = "Subject is Required!"; 
    document.getElementById("subs").focus(); 
    return false; 
} 

उत्तर

11

आप इस तरह देख सकते हैं कि nothing प्रथम माना जाता है (मेरे अनुभव में आमतौर पर ऐसा) जा रहा है:

if (document.getElementById('subs').selectedIndex == 0){ 

अभी भी के आधार पर तुलना करने के लिए

यहाँ मैं क्या करने की कोशिश की है मान, यह करें:

var sel = document.getElementById('subs'); 
if (sel.options[sel.selectedIndex].value == 'nothing') { 

आप अपने मार्कअप को बदलने के लिए wand कर सकते हैं ताकि लेबल I , बगल में रहा है इस तरह:

<select name="subs" id="subs"></select><label id="subn" for="subs"></label> 

अन्यथा इस हिस्से: .innerHTML = "Subject is Required!"; मिटा देगा अपने <select> :)

+1

आपने 'document.getElementsByTagName ('subs') लिखा है, जहां आपका मतलब है 'document.getElementById (' subs ')' – RoToRa

+0

@RoToRa - ओओएस कॉपी त्रुटि, धन्यवाद! और तय –

+0

धन्यवाद, – Mahmoud

1

यह करना चाहिए:

var index = document.your_form_name.subs.selectedIndex; 
var value = document.your_form_name.subs.options[index].value; 

if (value === "nothing"){ 
    // your further code here......... 
} 
0

document.getElementsByTagName('option') में सभी option तत्वों का एक संग्रह देता है दस्तावेज़ और "nothing" एक स्ट्रिंग है। एक स्ट्रिंग में संग्रह की तुलना करना काफी बेकार है।

document.getElementById("subn").innerHTML = "Subject is Required!"; सेटिंग select तत्व को हटा देगा, इसलिए document.getElementById("subs") और कुछ भी नहीं मिलेगा।

if (document.getElementById("subs").selectedIndex <= 0) { 
    // nothing is selected 
} 

संपादित करें:<= 0 में बदला गया > 0

तुम सिर्फ यह जानना चाहते हैं कुछ भी चयन किया जाता है की जरूरत है select तत्व की selectedIndex संपत्ति की जाँच करें। मुझे लगता है कि अगर उपयोगकर्ता ने कुछ भी नहीं चुना है तो यह जांचना चाहिए।

+0

आपका 'अगर() 'पीछे है, अगर यह'> 0' कुछ नहीं है ** ** ** चयनित नहीं है, तो वह रिवर्स चेक चाहता है। –

+0

वैसे, पाठ में उन्होंने लिखा "यदि उपयोगकर्ता पहले के अलावा किसी अन्य विषय का चयन करता है", लेकिन अपने उदाहरण में उन्होंने यह जांचने की कोशिश की कि पहले चुना गया था या नहीं, इसलिए एक विरोधाभास है। – RoToRa

+0

वह एक संदेश जोड़ रहा है * अगर उन्होंने कुछ भी नहीं चुना *, यह पीछे की तरफ है। यह ** अपने कोड से बहुत ** स्पष्ट है, मुझे यकीन नहीं है कि भ्रम कहां है ... –

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