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



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

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

您需要再实现几段代码,才能按您的意愿实现。现在,点击提交绝对没有任何作用。下次加载页面时,选择框默认为顶部选项,因为它不记得上次选择了哪个选项!通过表单提交,您需要使用一个工具与数据库通信以保存所选内容。

我的建议是使用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

<?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片段放在每个选项中,当您提交时,它将保留值

最新更新