2013-04-13 19 views
5

Ho una lista goccia annegare e sto avendo problemi a controllare se un valore è stato selezionato dal menu a tendinaCome verificare se un elemento è selezionato da un elenco a discesa HTML?

Qui di seguito è il mio codice HTML:

<label class="paylabel" for="cardtype">Card Type:</label> 
<select id="cardtype" name="cards"> 
    <option value="selectcard">--- Please select ---</option> 
    <option value="mastercard">Mastercard</option> 
    <option value="maestro">Maestro</option> 
    <option value="solo">Solo (UK only)</option> 
    <option value="visaelectron">Visa Electron</option> 
    <option value="visadebit">Visa Debit</option> 
</select><br/> 

Qui di seguito è il mio codice JavaScript:

var card = document.getElementByName("cards")[0].value; 
if (card.value == selectcard) { 
    alert("Please select a card type"); 
} 

risposta

25

Bene vi siete persi virgolette attorno alla stringa selectcard dovrebbe essere "selectcard"

if (card.value == selectcard) 

dovrebbe essere

if (card.value == "selectcard") 

Ecco il codice completo per quel

function validate() 
{ 
var ddl = document.getElementById("cardtype"); 
var selectedValue = ddl.options[ddl.selectedIndex].value; 
    if (selectedValue == "selectcard") 
    { 
    alert("Please select a card type"); 
    } 
} 

JS Fiddle Demo

+0

Bene il tuo violino recupera il testo selezionato. Quello che sta cercando è se un utente manca di selezionare un avviso per selezionare – Mee

+0

@Mee ohh scusa, ho solo frainteso l'OP. ora ho aggiornato la mia risposta. – Sachin

+0

@Sachin Funzionante. Quel '.text' sembrava strano per me lol. Ben fatto. +1; D – Mee

0
<label class="paylabel" for="cardtype">Card Type:</label> 
<select id="cardtype" name="cards"> 
<option value="selectcard">--- Please select ---</option> 
<option value="mastercard" selected="selected">Mastercard</option> 
<option value="maestro">Maestro</option> 
<option value="solo">Solo (UK only)</option> 
<option value="visaelectron">Visa Electron</option> 
<option value="visadebit">Visa Debit</option> 
</select><br /> 

<script> 
    var card = document.getElementById("cardtype"); 
    if (card.options[card.selectedIndex].value == 'selectcard') { 
      alert("Please select a card type"); 
      return false; 
    } 
</script> 
2
function check(selId) { 
    var sel = document.getElementById(selId); 
    var dropDown_sel = sel.options[sel.selectedIndex].text; 
    if (dropDown_sel != "none") { 

      state=1; 

    //state is a Global variable initially it is set to 0 
    } 
} 


function checkstatevalue() { 
     if (state==1) { 
      return 1; 
     } 
     return false; 
    } 

e HTML è per esempio

012.
<form name="droptest" onSubmit="return checkstatevalue()"> 

<select id='Sel1' onchange='check("Sel1");'> 
    <option value='junaid'>Junaid</option> 
    <option value='none'>none</option> 
    <option value='ali'>Ali</option> 
</select> 

</form> 

Ora, quando si invia un modulo, controllare innanzitutto qual è il valore dello stato se è 0 significa che nessun elemento è stato selezionato.

5
<script> 
var card = document.getElementById("cardtype"); 
if(card.selectedIndex == 0) { 
    alert('select one answer'); 
} 
else { 
    var selectedText = card.options[card.selectedIndex].text; 
    alert(selectedText); 
} 
</script> 
Problemi correlati