formでGET送信時に空のパラメータを送信しない方法(cleanQuery)
フォームでGET送信する際、通常だと空のパラメータも送信される。結果として「ドメイン/?param1=¶m2=¶m=3」みたいなURLとなり、見た目的に気になった。何か簡単な対応方法は無いかと探したところ、cleanQueryというjQueryプラグインで実現できる模様。以下に対応方法をメモ。
プラグインについて
残念ながら公式サイトは404エラーで表示できず、CDNも見つけられなかったため以下参考サイトのものを利用する。
/* * jQuery cleanQuery 2013-03-23 * Authored by guimihanui * Licensed under the MIT License (http://www.opensource.org/licenses/mit-license.php) */ (function($) { function cleanQuery(query) { var arr = []; $.each(query.split('&'), function(i, param) { if (param.split('=')[1]) { arr.push(param); } }); return arr.join('&'); } $.fn.cleanQuery = function() { this.on('submit', function(event) { event.preventDefault(); var query = cleanQuery($(this).serialize()); location.href = this.action + '?' + query; }); return this; }; })(jQuery);
使い方
プラグインを読み込んだ上で以下のようにフォームのIDを指定する。
$('#form_id').cleanQuery();
参考サイト
関連記事
フォームの入力内容をjQueryで取得し、本文として設定した上でメーラーを起動させる方法
formで何らかを入力してもらいボタンをクリックするとメーラーが開き、先ほど入力 ...
jQueryの日付&時間のピッカー(bootstrap-datetimepicker)について
日付のピッカーはよく見るけど、時間のピッカーはあまり見ないので、普通のセレクトメ ...
八地方区分→都道府県→路線→駅名の連携したセレクトメニュー の実装方法
八地方区分(関東、近畿等)をプルダウンから選ぶと区分内の都道府県プルダウンが表示 ...
テキストエリアを自動でリサイズ
改行するだけで勝手にリサイズしてくれるので、 ユーザー用でも管理用でも使えそう。 ...
lightboxをファイルアップロードなしで使う(CDN)方法
本番実装時ならともかく、テスト用とかでlightboxみたいによく使うプラグイン ...