2016-06-24 18 views
-1

コードを実行すると、さまざまな言語のドロップダウンメニューが表示されます。言語を選択して送信を押すと、ドロップダウンメニューは選択したものにとどまるのではなく、自動的にリストの先頭に戻ります。だから私がやっていることは、送信ボタンを押した後に言語バーをその言語にとどめることです。言語ドロップダウンメニューはリンクを変更しますが、選択した言語には残りません

<body> 
 

 
    <header> 
 

 
    <div id="country-select"> 
 
     <form action="" method="get"> 
 
     <select id="locale" name="locale"> 
 
\t <option value="en_US" title='1'>English(US)</option> 
 
      <option value="en_GB" title='2'>English(UK)</option> 
 
      <option value="bg_BG" title='3'>Bulgarian</option> 
 
      <option value="cs_CS" title='4'>Czech</option> 
 
      <option value="da_DK" title='5'>Danish</option> 
 
      <option value="de_DE" title='6'>German</option> 
 
      <option value="ek_GR" title='7'>Greek</option> 
 
      <option value="es_ES" title='8'>Spanish</option> 
 
      <option value="et_ET" title='9'>Estonian</option> 
 
      <option value="fi_FI" title='10'>Finnish</option> 
 
      <option value="fr_FR" title='11'>French</option> 
 
      <option value="hu_HU" title='12'>Hungarian</option> 
 
      <option value="it_IT" title='13'>Italian</option> 
 
      <option value="lt_LT" title='14'>Lithuanian</option> 
 
      <option value="lv_LV" title='15'>Latvian</option> 
 
      <option value="nl_NL" title='16'>Dutch</option> 
 
      <option value="no_NO" title='17'>Norwegian</option> 
 
      <option value="pl_PL" title='18'>Polish</option> 
 
      <option value="pt_PT" title='19'>Portugese</option> 
 
      <option value="ro_RO" title='20'>Romanian</option> 
 
      <option value="sk_SK" title='21'>Slovak</option> 
 
      <option value="sl_SL" title='22'>Slovenian</option> 
 
      <option value="sv_SE" title='23'>Swedish</option> 
 
     </select> 
 
     <input value="Select" type="submit" /> 
 
     </form> 
 
    </div> 
 
    </header> 
 
    <script> 
 

 

 
     // creates the page dynamically 
 
     function GetSelectedItem() { 
 
     var option = document.getElementById("locale").value; 
 
     } 
 

 
    </script> 
 
</body>

+0

'submit'ボタンを押すとフォームがサーバーに送信されます。 'select'で項目をあらかじめ選択したい場合は、フォームのポストを処理するサーバー側コードで行います。あなたはどんなサーバーサイドの言語を使っていますか?あなたはそのコードのフォーム投稿で何をしていますか? – David

+0

@David Davidにお返事いただきありがとうございます。だから、Javascriptではできないだろうか?私はおそらくPHPを使用する必要がありますか? – Giorgio

+0

* JavaScriptではどうしたらいいですか?あなたは何をしようとしているのかを指定していません。サーバーにポストバックするシンプルなフォームがあります。それは何もしません。 – David

答えて

0

あなたは、これはあなたが望む道を起こるようにするためにコードの多くのいくつかの作品を実装する必要があります。今、提出することは絶対に何もしません。次回のページ読み込み時に、選択されたオプションが最後に選択されたことを覚えていないため、選択ボックスのデフォルトは先頭のオプションになります。フォームの提出によって、選択を保存するためにデータベースと通信するツールを使用する必要があります。

PHPを使用してファイルに書き込むか、SQLデータベースと通信することをお勧めします。私はこのアプリケーションが何であるかわからないので、私には最高のオプションを提案することは難しいです。 PHPを使用して

、フォームメソッドが "POST" "GET" から変更する必要があります:

<form action="submit.php" method="POST"> 

submit.phpスクリプトは、次のようになります。

<?php 
    $selection = $_POST['locale']; 
    //do something to save the selection here 
?> 

詳しい情報SQLへのデータの保存については、http://www.w3schools.com/php/php_mysql_insert.asp

+0

正確に私の問題@Confiqure本当にありがとう!だから私はPHPを使用する必要がありますが、私はデータベースを作る必要がありますか?このツールバー/ドロップダウンメニューは、ページの言語を切り替えますが、今のところツールバーを作成しています – Giorgio

+0

ウェブサイトに複数のユーザーがいる場合は、SQLデータベースを作成し、PHPを使用してユーザーの選択を保存します。オプションが既にSQLに保存されているかどうかを検出するためにもう少しPHPを追加してHTMLフォームを微調整する必要があります。デフォルトのオプションを保存したオプションを – Confiqure

+0

にしてください。 – Giorgio

0
<?php 
if($_SERVER['REQUEST_METHOD'] == 'GET'){ 
    if(!empty($_GET['locale'])){ 
    $languange = $_GET['locale']; 
    } 
} 
?> 
<body> 

    <header> 

    <div id="country-select"> 
     <form action="thispage.php" method="get"> 
     <select id="locale" name="locale"> 
     <option <?php if($language == "en_US")? echo "selected" ?> value="en_US" title='1'>English(US)</option> 

     </select> 
     <input value="Select" type="submit" /> 
     </form> 
    </div> 
    </header> 

基本的に各オプションにPHPスニペットを入れ、送信すると値を保持します

+0

ありがとうございましたパイロックス、私はこの仕事をするために可能な方法を試してみます – Giorgio

関連する問題