※ ChatGPTを利用し、要約された質問です(原文:GETパラメータの内、空文字のクエリを消去したい)
フォームからGETパラメータの空文字を消去する方法
このQ&Aのポイント
フォームからGETで複数のパラメータを送信する際、値が空文字のものを消去する方法について説明します。
例えば、idやnameなどの値が空であれば、URLには表示されず、入力値のあるパラメータのみが表示されます。
このようにすることで、URLが見やすくなり、クエリの内容も分かりやすくなります。
フォームからGETで複数のパラメータを送信するとき、値が空文字のものを表示しないようにすることは可能でしょうか。
たとえば、次のようなフォームを含むform.phpがあるとします。
--------------
<form action="./result.php" method="get">
<input type="text" name="id" size="40">
<input type="text" name="name" size="40">
<input type="text" name="address" size="40">
<input type="text" name="sex" size="40">
<input type="submit" value="送信"><input type="reset" value="リセット">
</form>
--------------
このフォームから、
--------------
id:13
name:佐藤太郎
address:東京都新宿区適当1-2-3
sex:男性
--------------
というデータを送信した場合、送信ボタンを押すと
./result.php?id=13&name=佐藤太郎&address=東京都新宿区適当1-2-3&sex=男性
のページに遷移しますが、
--------------
id:
name:佐藤太郎
address:
sex:男性
--------------
ですと
./result.php?id=&name=佐藤太郎&address=&sex=男性
になります。
このままですとクエリが読みにくいので、
--------------
id:
name:佐藤太郎
address:
sex:男性
--------------
の場合は
./result.php?name=佐藤太郎&sex=男性
と入力値のあるものだけを表示してそれ以外は消去したいです。
というのも、例としたform.phpではパラメータは4つでしたが、現在作成しているフォームではパラメータが21あり、空文字のものも含むと、遷移後の画面のURLがとても見にくいのです。
このようにパラメータを見やすくするようなjavascriptのコードを教えてください。
jQueryは1.7を使用しています。どうかよろしくお願いいたします。