Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Selecting value of <select> tag in javascript. problem

I have an external Javascript file and i am trying to alert the value of select tag.

My <select> code looks like this:

<select id="vote">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    </select>
<input type="button" value="vote" onclick="castvote();">

and the Javascript (which is external):

function castvote()
{
    alert(document.vote.options[document.vote.selectedIndex].value);
}

But I get the error "document.vote is undefined".

Can someone help me with this.

Best Zeeshan

like image 341
Zeeshan Rang Avatar asked Jul 13 '09 20:07

Zeeshan Rang


2 Answers

If selecting by Id, you should use :

function castvote() { 
   var sel = document.getElementById("vote");

   alert(sel.options[sel.selectedIndex].value); 
}
like image 154
Philippe Leybaert Avatar answered Oct 06 '22 20:10

Philippe Leybaert


Easy way, change your code so that your form field has a name attribute:

<select name="vote" id="vote">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<input type="button" value="vote" onclick="castvote();">

Better way, change your javascript so it is retreiving the select box by its ID rather than through the document object:

function castvote() {
    var mySelect = document.getElementById("vote"); 
    alert(mySelect.options[mySelect.selectedIndex].value); 
}
like image 44
Matt Bridges Avatar answered Oct 06 '22 19:10

Matt Bridges