Javascript jQuery-submit()多次激发。为什么?

Javascript jQuery-submit()多次激发。为什么?,javascript,jquery,laravel-5,Javascript,Jquery,Laravel 5,我有一个表单,在submit上执行以下代码 $(document).on('submit','#search_client_form',function(e){ e.preventDefault(); clientSearch(); }); function clientSearch(){ console.log('foo') } 我可以在控制台中看到,foo这个词被执行了11次或12次而不是1次 我已经设法解决了我的问题,在我的第一个代码示例的on()函数之前添加了o

我有一个表单,在
submit
上执行以下代码

$(document).on('submit','#search_client_form',function(e){
    e.preventDefault();
    clientSearch();
});

function clientSearch(){
   console.log('foo')
}
我可以在控制台中看到,foo这个词被执行了11次12次而不是1次

我已经设法解决了我的问题,在我的第一个代码示例的
on()
函数之前添加了
off()
函数

我需要的是解释为什么会发生这种情况。在以前的开发中,我从未遇到过同样的问题

更新:

我的表格:

<div class="row">
    <div class="form-group">
        {{ Form::open(array('id' => 'search_client_form')) }}
        <input type="text" class="form-control" name="search_client_term" placeholder="Search For Client">
        <span class="input-group-btn text-right">
            <button class="btn btn-primary" type="submit">
                <i class="fa fa-search"> Search</i>
            </button>
        </span>
        {{Form::close()}}
    </div>
</div>

{{Form::open(数组('id'=>'search\u client\u Form'))}
搜寻
{{Form::close()}}

Try
返回false
在事件句柄中发生这种情况是因为方法上的
添加了一个监听器,它不会替换已经存在的监听器。您可能在
上多次调用了
times@Tushar为什么在
e.preventDefault
时返回false?@Makis这是整个代码吗?你确定你没有意外地将处理程序附加到循环或类似的东西中吗?@Makis你能用小提琴重现这个问题吗?它工作良好,请尝试
返回false
在事件句柄中发生这种情况是因为
方法上的
添加了一个监听器,它不会替换已经存在的监听器。您可能在
上多次调用了
times@Tushar为什么在
e.preventDefault
时返回false?@Makis这是整个代码吗?你确定你没有意外地将处理程序附加到循环或类似的东西中吗?@Makis你能用小提琴重现这个问题吗?它很好用