2009-07-13 16 views
6

私は外部Javascriptファイルを持っており、私はalert selectタグの値を試しています。<select>タグの値をjavascriptで選択します。問題

<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();"> 

と(外部にある)のJavascript:

<select>コードは次のようになります

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

しかし、私はエラーが "document.voteが定義されていない" を得ます。

誰かが私に助けてくれますか?

ベスト Zeeshan

答えて

13

Idで選択する場合は、あなたが使用する必要があります。

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

    alert(sel.options[sel.selectedIndex].value); 
} 
+3

文書の2番目のインスタンスを変更していません。 – cdm9002

+0

これは動作しません。それを試してみました。 –

+0

私は彼のためにそれを固定しました - それはとにかくポイントを得ました。 –

5

簡単な方法を、あなたのフォームフィールドがname属性を持つようにコードを変更:

<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();"> 

より良い方法は、ドキュメントオブジェクトではなくIDで選択ボックスを回収するようにjavascriptを変更することです。

function castvote() { 
    var mySelect = document.getElementById("vote"); 
    alert(mySelect.options[mySelect.selectedIndex].value); 
} 
関連する問題