语言下拉菜单会更改链接,但不会保留所选语言

时间:2016-06-24 14:37:14

标签: javascript html

如果您运行代码,您将看到一个包含许多不同语言的下拉菜单。如果您选择语言并按下提交,则下拉菜单将自动返回列表顶部,而不是保持您选择的内容。所以我想要做的就是在点击提交按钮后让语言栏保持该语言。



<body>

  <header>

    <div id="country-select">
      <form action="" method="get">
        <select id="locale" name="locale">
	  <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>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

您需要实现更多代码,以便按照您的方式实现。现在,点击提交绝对没有任何意义。下次加载页面时,选择框默认为顶部选项,因为它不记得上次选择的选项!通过表单提交,您需要使用工具与数据库通信以保存选择。

我的建议是使用PHP写入文件或与SQL数据库通信。我不确定这个应用是什么,所以我很难建议最好的选择。

使用PHP,需要将表单方法从“get”更改为“POST”:

<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

答案 1 :(得分: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片段放在每个选项中,当你提交时,它会保留值