2

多言語ウェブサイトをセットアップしています。

私がカバーする言語のセットがあるドロップダウンがあります。

ドロップダウンが変更されたときにスクリプトを使用して、URL に変数を追加または置換し、ページを更新します。

セッションやクッキーに言語を保存したくありません。

私の目標は、検索エンジンがすべての多言語ページにインデックスを付け、URL を書き換えて、URL がhttp://www.index.php/EN/homeのようになるようにすることです。これについては後で説明します。

現在、変更時にフォームを送信するドロップダウンがあります。

echo "<select name='lang'  onchange='this.form.submit()'>";     
$array = oci_parse($conn, "SELECT code, name FROM languages");
oci_execute($array);

while ($row  = oci_fetch_array($array))
{
    if ($lang == $row[0])
    {
        echo "<option value=".$row[0]." selected='selected'>".$row[0]."</option>";
    }
    else
    {
        echo '<option value='.$row[0].'>'.$row[0].'</option>';
    }
}            
echo '</select>';
4

2 に答える 2

0
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<select name='lang' id="dropdown">
    <option value="EN">English</option>
    <option value="FR">French</option>
</select>


<script>

$('#dropdown').change(function()
{

    var langValue = $('#dropdown').val(); // i.e. langValue='EN' or langValue='FR'
    if(langValue)
    {
        window.location.href = 'http://www.index.php/' + langValue + '/home';
        return true;
    }
    return false;

});

function addLang(langValue)
{
    var url = window.location.href;
    var urlP = url.split('/');
    if(urlP.length <4)
    {
        url = url + langValue; // adding new lang
    }
    else
    {
        url[3] = langValue; // replace old lang
        url = url.join('/');
    }
    console.log(url);
}

</script>
于 2013-05-13T07:06:37.093 に答える
0

これを試して、

      $(document).ready(function(){
        $('#form').submit(function()
         {
          var lang=$("[name='lang']")val();
           window.location.href='http://www.index.php/' + lang+ '/home';
          }

       });
       });
于 2013-05-13T07:13:49.183 に答える