formでGET送信時に空のパラメータを送信しない方法(cleanQuery)
2024/11/05
フォームでGET送信する際、通常だと空のパラメータも送信される。結果として「ドメイン/?param1=¶m2=¶m=3」みたいなURLとなり、見た目的に気になった。何か簡単な対応方法は無いかと探したところ、cleanQueryというjQueryプラグインで実現できる模様。以下に対応方法をメモ。
プラグインについて
残念ながら公式サイトは404エラーで表示できず、CDNも見つけられなかったため以下参考サイトのものを利用する。
(function($) {
function cleanQuery(query){
let get_param = [];
$.each(query.split(`&`), function(i, param){
if( param.split(`=`)[1] ){
get_param.push(param);
}
});
return get_param.join(`&`);
}
$.fn.cleanQuery = function() {
this.on(`submit`, function(event){
event.preventDefault();
const query = cleanQuery($(this).serialize());
location.href = `${this.action}?${query}`;
});
return this;
};
})(jQuery);
使い方
プラグインを読み込んだ上で以下のようにフォームのIDを指定する。
$('#form_id').cleanQuery();
参考サイト
関連記事
-
-
jQueryでshow/hideよりaddClass/removeClassの方が速い
diaplay:none/blockする際に最近はshow()/hide()を ...
-
-
表示範囲を自由に変更可能な折れ線グラフが表示できるJSライブラリ amCharts の使用方法
どこかのサイトを閲覧していた際に、恐らくはJavaScriptのライブラリで描写 ...
-
-
jQueryのトースト(通知)用ライブラリ「iziToast.js」の利用方法
システム構築の際、エラー表示をJavaScriptのアラートではなくトースト(通 ...
-
-
jQueryでformの各種パーツ(テキストボックス等)の操作まとめ
jQueryでフォームのセレクトメニューやラジオボタン等、各種パーツを操作するこ ...
-
-
jQueryにて特定のIDが存在するかチェックし分岐処理する方法
jQueryにて特定のIDが存在するかチェックし分岐処理したいというケースがあっ ...