Форма отправляется при загрузке страницы - PullRequest
0 голосов
/ 14 февраля 2012

У меня проблема с формой.Когда я нажимаю на кнопку, отображается div, в котором у меня есть форма, когда я нажимаю на кнопку скрытия, div скрывается:

$(function () {
        $("#reservation").click(function () {
            $("#reservationDiv").show("slow");
        })
    });
    $(function () {
        $("#hideReservation").click(function () {
            $("#reservationDiv").hide("slow");
        })
    });

Затем внутри моего «bookingDiv» инициализируется форматаким образом:

@Html.BeginForm("DoReservation","OfferDetails")

Когда я, однако, открываю действие (Index) контроллера по умолчанию «OfferDetails», моё действие «DoReservation» вызывается автоматически.Что я делаю неправильно?Я не уверен, что это важно, но на главной странице OfferDetails я также использую вкладки jquery ui.

1 Ответ

1 голос
/ 14 февраля 2012

Не видя весь свой код, вы упоминаете кнопку, но ваш обработчик щелчков не подавляет поведение кнопки по умолчанию.Мне нравится использовать функцию jQuery live () для привязки click событий, и вы можете подавить поведение кнопки при отправке следующим образом:

<script type="text/javascript">
    (function ($) {
        $("#reservation").live('click', function (e) {
            e.preventDefault();
            $("#reservationDiv").show("slow");
        });

        $("#hideReservation").live('click', function(e) {
            e.preventDefault();
            $("#reservationDiv").hide("slow");
        });
    })(jQuery);
</script>
...