2011-12-24 5 views
2

ユーザーがアイテムを評価したときに表示されるポップアップボックスを表示しようとしていますが、ドロップダウンメニューの値はそれに沿って移動しません。私が提出するとき、私は値をつかみ、それを変数としてURLに入れたいと思います。何か案は?サブミット前にメニュー値を取得しようとしています

<form onsubmit="window.open('rateIt.php?rate=<?php echo **THE VALUE OF THE DROP-DOWN** ?>','popup','width=500,height=500,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"> 
    <select name="rate" id="rate"> 
    <option>1</option> 
    <option>2</option> 
    <option>3</option> 
    <option>4</option> 
    <option>5</option> 
    </select> 
    <input name="rateit" type="submit" value="Rate It"/> 
</form> 

答えて

2

サプライフォームのイベントを提出するための独自の機能:

document.getElementById("formId").onsubmit = function(){ 
    var rateVal = this.rate.value; 
    window.open('rateIt.php?rate=' + rateVal); 
}; 

ちょうどあなたがあなたのページのでこのスクリプトを置くか、あなたの体のonloadハンドラ内のいずれかを確認してください。 headセクションに入れるだけで、DOMはまだ準備ができていないので、getElementByIdはフォームを見つけられません。

EDIT

ちょうどあなたがこれらのオプションにvaluesを追加してください:

<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> 
+0

これは素晴らしい作品!ありがとう、トン!私はこれをおそらく1時間行う方法を探していました。 – Alex

+0

IE 8以降の問題は、オプション要素にvalue属性がないため空の文字列を返します。 OPがそれを追加した場合(たとえば、それぞれがテキストと同じ値属性を持つように)、すべて正常です。 – RobG

+0

@Alex - RobGは彼がどこで話しているか知っています。各オプション要素に値属性を追加できますか? –

関連する問題