条件付きでフォームフィールドを送信からスキップし、URLクラッタを減らす
-
12-09-2020 - |
質問
私は現在のビューに関する値を格納する複数の隠しフォームフィールド(例えば、特定の、通常は隠されたDIVが表示されている場合など)を復元してレイアウトを復元します。
問題は、を常に提出していても、、プロセスで必要な不要なURLクラッタを生成しても常にすべての隠れたフィールドを送信することです(例: http://www.example.com/view ?ab=&ac=&ad= など)。
URLクラッタが最小になるように、実際にビューに影響を与えるフィールド(つまり、指定されたデフォルト値を持たない)のフィールドをむしろ送信したい(つまり、指定されたデフォルト値はありません)。
入力の挿入/挿入を手動で削除しようとしました。これを行うためのより良い方法はありますか?
解決
それらを無効にしてみてください -
「無効になっているコントロールは成功できません」 - http://www.w3.org/TR / HTML401 / INTERACT / FORMS.HTML#H-17.13.2
他のヒント
jQueryを使用すると、送信前にremove()
のフォーム要素を作成することができます。私が考えることができるもう一つの方法は、name attribute
を削除することです。
$('form').bind('submit', function(){
$(this).children('input').each(function(){
if(this.value === this.defaultValue)
$(this).remove();
});
});
. URLにこれらのオプションを保持する理由がない限り、なぜそれらの値をCookieに保存しないのですか?実際、これは多くのサイトで行われます。もっと注意したい場合は、ディスプレイオプションを各ユーザーのデータベースに保存できますが、それが選択です。
所属していません StackOverflow