表单在加载页面时提交

时间:2012-02-13 22:49:31

标签: asp.net-mvc-3 form-submit

我的表单有问题。当我点击按钮时,会显示我的表格所在的div,当我点击隐藏按钮时,div正在隐藏:

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

然后,在我的“reservationDiv”中,我有一个以这种方式初始化的表单:

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

但是当我打开默认的“OfferDetails”控制器动作(索引)时,我的“DoReservation”动作会自动被调用。我究竟做错了什么?我不确定它是否重要,但在OfferDetails主页面上我也使用了jquery ui tabs。

1 个答案:

答案 0 :(得分:1)

在没有看到所有代码的情况下,您提到了一个按钮,但您的单击处理程序并未禁止按钮的默认行为。我喜欢使用jQuery live()函数来绑定点击事件,你可以像这样抑制按钮的提交行为:

<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>