速報

imgproxyのICO処理にコード実行のおそれ|4.0.16だけでは残る問題を確認

CATEGORY

【JavaScript】セレクトボックス選択でページ遷移(リダイレクト)する

※本ページのリンクにはプロモーションが含まれています。

【JavaScript】セレクトボックス選択でページ遷移(リダイレクト)する

目次

本記事では、JavaScriptを使って、セレクトボックスのオプションを選択した際にページ遷移()する方法をご紹介しています。

セレクトボックスを選択した際にサブミットしたりページ遷移したいと考えた場合、HTMLやCSSだけで実装するのは難しいため、JavaScriptを使用します。

ECサイトや不動産検索サイトで見たことがあるかと思いますが、検索結果を並び替えたり、こだわりの条件で絞り込む際にセレクトボックスを選択してフォームをサブミットさせることがあるかと思いますが、今回は応用としてサブミットではなくリダイレクトを実行してみたいと思います。

では、解説していきます。

スポンサーリンク

JavaScriptでリダイレクトするには

JavaScriptを用いたリダイレクトは「location」インターフェースを使用します。「location.href」にURLを代入すると新しいページに遷移することができます。

使用方法は簡単で、下記の用に右辺のURLを代入するだけになります。

location.href  = 'https://into-the-program.com';

では、早速セレクトボックスを選択してページ遷移(リダイレクト)してみましょう。

セレクトボックスを選択してページ遷移(リダイレクト)する

まずはセレクトボックスの設置から。今回はオプションの値をURLの一部に使用する形でリダイレクトをしてみます。もちろんURLをすべて記述することも可能です。その場合は「option」の「value」属性の値をURLに変更していただければと思います。

HTML

<select id="selectbox" name="selectbox">
    <option value="js">JavaScript</option>
    <option value="jquery">jQuery</option>
    <option value="html">HTML/CSS</option>
</select>

続いてスクリプトを作成していきます。クエリ文字列とハッシュも付加した状態でページ遷移(リダイレクト)するようにしていますが、環境に合わせて変更してご使用ください。

JS

function redirectValue(event) {
        
    let loc = location;
    let value = event.target.value;
        
    if(loc.search !== '')
        value += loc.search;
        
    if(loc.hash !== '')
        value += loc.hash;
        
    location.href = 'https://into-the-program.com/' + value;

    //URLの場合はこちら
    //location.href = value;
}
    
let selectbox = document.getElementById('selectbox');
selectbox.addEventListener('change',redirectValue, false);

スポンサーリンク

最後に

セレクトボックスを用いたリダイレクトはたまに使用することがありますので、本記事で覚書としてまとめてみました。もし同じような処理を実装される方がいましたら参考にしていただければと思います。

以上、JavaScriptでセレクトボックス選択でページ遷移(リダイレクト)する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク

リダイレクト

あるURLにアクセスしたとき、自動的に別のURLへ転送すること。サイトの移転やURLの変更で使う。

詳しく見る