表单不按提交按钮继续获取提交事件

时间:2012-11-04 13:33:34

标签: javascript jquery

我正在尝试制作一个表单,所以当用户单击按钮然后它将提交但问题是即使我没有按下提交按钮它仍然继续功能。这是我的代码

$(function () {
var url, container, form,
    View = {
        init: function () {
            container   = $('.container');
            form        = $('.search#form');
            console.log(form);
            View.loadViews();
            $(document).on('submit', '#form', View.findView());
        },
        findView: function () {
            console.log('helllo');
            return false;
        },
        loadViews: function (view) {
            $(container).load('search.html');
        }
    };
View.init();
});

在上面的代码中,行$(document).on('submit', '#form', View.findView());一直调用findView()方法,而我想在用户点击提交按钮时调用它。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

使用$(document).on('submit', '#form', View.findView());绑定它时,实际上是在调用函数并尝试将submit事件绑定到函数返回的内容,这是不正确的。由于findView()正在返回false,这相当于说$(document).on('submit', '#form', false);

您需要绑定View.findView(),如下所示:

$(document).on('submit', '#form', View.findView); // note, no () at the end

答案 1 :(得分:1)

你应该传递函数的引用而不是函数返回值。

$(document).on('submit', '#form', View.findView);