formタグは入力フォームや送信フォームを表示させたいときに使用し、その際、必ずaction属性を指定しなければなりません。action属性では、フォームの送信ボタンを押して送信されるデータの送信先を指定します。 method属性では送信するときの転送方法を指定します。
<form action="データの送信先" method="post"> ... </form>
selsectタグで取得した値は以下のように取得することができます。
var idx = obj.selectedIndex; var value = obj.options[idx].value; // 値 var text = obj.options[idx].text; // 表示テキスト
今回利用したコードは以下のようになります。
<script> function changelang(obj){ var idx = obj.selectedIndex; var value = obj.options[idx].value; window.location.href = '<?= get_site_url(); ?>'+'/'+value+"/"; } </script>
<form method="get" accept-charset="utf-8" id="form_lang"> <select class="mdl-selectfield__select" name="lang" id="select_lang" onchange="changelang(this);"> <option value="ja" >日本語</option> <option value="en" selected="selected">English</option> <?php if(strpos($uri, "/ja/") !== false){ ?> <option value="ja" selected="selected">日本語</option> <option value="en">English</option> <?php }else{ ?> <option value="ja">日本語</option> <option value="en" selected="selected">English</option> <?php } ?> </select> </div> </form>