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のanimate()でページスクロール後に他の処理を実行させる方法
jQueryのanimate()でページスクロール後に特定の要素を非表示にしたい ...
-
-
jquery.cookie.jsで「$.cookie is not a function」エラー
フロントエンド側でCookieを利用したい場合jquery-cookieを用いる ...
-
-
jQueryで新しく追加した要素に対してイベントがきかない場合の対応
jQueryで新たに追加した要素に対して、 clickイベントを使いたかったけど ...
-
-
jQueryのトースト(通知)用ライブラリ「iziToast.js」の利用方法
システム構築の際、エラー表示をJavaScriptのアラートではなくトースト(通 ...
-
-
SNSのシェア(いいね)ボタンを設置できるjQueryプラグイン「jsSocials」の利用方法
サイト内にSNSのシェア(いいね)ボタンを設置する際、WordPressだと何ら ...