0

訪問者がドロップダウン ボックスから値を選択し、[2 つの異なるフォーム アクションをトリガーし、両方とも別々の要素にある] 2 つの送信ボタンのいずれかを選択できるシナリオがあります。

ドロップダウン ボックスは両方の送信ボタンに関連していますが、要素の 1 つの下にのみあります。

あるフォーム要素から別のフォーム要素にドロップダウン値をプルする JavaScript 関数を書き込もうとしましたが、うまくいかないようです。以下の私のコードを見てください。何かアイデアはありますか?

<script type="text/javascript">
function grabselection(){
var select_genre = document.getElementById("genre");
var genre = select_genre.value;
var genre_cloaked = document.getElementById("genre2");
genre_cloaked.value = genre;
}
</script>


<form class="youtubeupload" action="uploadfinalised.php" method="post"      enctype="multipart/form-data">
<input name="token" type="hidden" value="Alhl"/>
<select  id="genre2" class="genre" name="genre"><option value="">What style is your video?</option></select>
<input value="" onclick="grabselection();" type="submit" id="uploadbutton" /></div>
    </form>     

<form id="provideurl" class="provideurl" method="post" action="provideurl.php">
<select id="genre" class="genre" name="genre">
    <option value="">What style is your video?</option>             
    <option id="genreid_1" value="1">first genre</option>
    <option id="genreid_2" value="2">second genre</option>
    <option id="genreid_3" value="3">third genre</option>
    <option id="genreid_4" value="4">fourth genre</option>  
</select>

これにはもっと簡単な解決策があると確信しています-1つのフォーム要素を2つの異なるフォームにリンクしますが、その方法はわかりません-どんな助けも大歓迎です

4

2 に答える 2

0

次のコードを使用して、選択したインデックスの値を取得しています-

var genre = select_genre.value;

代わりに、そのコード行を次のように変更します -

var genre = select_genre.options[select_genre.selectedIndex].value;

これにより、現在の選択の値がジャンル変数に挿入されます。コードの残りの部分は正常に動作するはずです。これがうまくいくかどうか教えてください。

于 2012-07-14T22:48:40.140 に答える
0

genre2選択ボックスに値を設定していますが、その値のオプションが含まれていません。達成しようとしていることを達成するには、両方の選択フィールドでオプションを定義する必要があります。

非表示の入力を使用して、その値を更新してみませんか?

<input type="hidden" name="genre2" />

おそらく最善の方法は、ユーザー入力に基づいてフォーム アクションを決定し、フォームが 1 つだけになるようにすることです... ここで簡単な説明があります: http://www.javascript-coder.com/html-form/html -form-action.phtml

于 2012-07-14T22:49:51.837 に答える