0

クエリ文字列パラメーターに設定されたパラメーターに応じてデータベースを検索する検索ページを作成しました。検索ページはうまく機能しますが、検索パラメーターをどんどん追加していきたいので、URL に空白のクエリ文字列を入力したくありません。

10 個の検索オプションを含むフォームがあり、2 つだけを指定したいとします。10 個すべてではなく、これら 2 つだけを URL に投稿することは可能ですか?

4

1 に答える 1

1

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>
于 2013-09-27T18:46:41.240 に答える