[英]jQuery prevent input default action
我有一个ajax表单,我想阻止在提交时执行一个动作,并尝试了很多方法,没有任何作用。 我的第一种方法是:
return false;
然后我尝试
event.preventDefault();
event是回调名称或任何你称之为的回调名称。
function(event) {
event.preventDefault();
};
下面是我正在使用的HTML:
<form class="main_search" method="POST" action="ajaxsearch.php">
<input type="text" class="editable" placeholder="Search">
</form>
继承人我设置的测试javascript:
$('.main_search').submit(function(event) {
event.preventDefault(console.log(event)); //Log the event if captured
});
这两种方法都不起作用,但奇怪的是它们可以处理不同的东西,比如按钮,但它们不适用于这种形式。 我在这里错过了什么吗? 谢谢!
要处理您的特定问题(即插入动态生成的表单 ),请使用$.on()
。 您最好不要将$.on()
与document.body
用作父观察器(基本上像$.live()
一样$.on()
,因此以下内容将是适当的(考虑您的实际标记):
<div id="searches">
<form class="main_search" method="POST" action="ajaxsearch.php">
<input type="text" class="editable" placeholder="Search">
</form>
</div>
var $main_search = $('.main_search'),
$searches = $('#searches');
$searches.on('submit', '.main_search', function(event) {
event.preventDefault();
console.log(event); //Log the event if captured
});
setInterval(function(){
$searches.append($main_search.clone());
}, 5000);
我设置了一个JSfiddle:
如果您忘了将其包装到$(document).ready(function() {}
吗?如果这不能解决问题:由于小提琴正在工作-我们需要您的上下文来提供更多帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.