クエリ文字列パラメーターに設定されたパラメーターに応じてデータベースを検索する検索ページを作成しました。検索ページはうまく機能しますが、検索パラメーターをどんどん追加していきたいので、URL に空白のクエリ文字列を入力したくありません。
10 個の検索オプションを含むフォームがあり、2 つだけを指定したいとします。10 個すべてではなく、これら 2 つだけを URL に投稿することは可能ですか?
JavaScript を使用してリクエストを行う場合、これを行うことができます。これにはフォームも必要ありません。JavaScript に jQuery を使用する簡単な例を次に示します (簡単にするため)。
@{
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript" src="~/Scripts/jquery-1.9.1.min.js"></script>
<script>
$(function () {
$('button').click(function () {
var url = [location.protocol, '//', location.host, location.pathname].join('');
var queryAdded = false;
$('input[type=text]').each(function () {
if ($(this).val() != '') {
url += queryAdded ? '&' : '?';
url += $(this).prop('name') + '=' + $(this).val();
queryAdded = true;
}
});
location.href = url;
});
});
</script>
</head>
<body>
<div>
@Html.TextBox("field1")
</div>
<div>
@Html.TextBox("field2")
</div>
<div>
@Html.TextBox("field3")
</div>
<div>
<button>Click</button>
</div>
</body>
</html>