我有以下表格代码。我必须阻止表单提交和触发自定义事件。我还在提交函数上写了一个javascript来触发该事件,然后返回false,如果我做错了请帮忙。
表单html:
<form class="form-inline" action="" name="filterform">
<div class="row">
<?php foreach($formatted_post_type as $filters){?>
<div class="checkbox">
<label class="checkbox-inline" style="line-height:40px;">
<input type="checkbox" name="filters[posttype][]" value="<?php echo $filters['slug']?>" onclick="refresh_posttypes();" />
<?php echo $filters['name']?></label>
</div>
<?php }?>
</div>
<div class="row">
<div class="col-md-12">
<input type="submit" class="btn btn-primary btn-sm" value="Apply">
</div>
</div>
</form>
javascript代码:
jQuery(document).ready(function(){
jQuery('form[name="filterform"]').on('submit', function(e){
jQuery(document).triggerHandler('favorites-update-all-lists', function(e){
e.preventDefault();
});
return false;
});
});
答案 0 :(得分:0)
试试这个
$(function() {
$('form[name="filterform"]').on('submit', function(e) {
$(document).triggerHandler('favorites-update-all-lists', function() {
e.preventDefault();
});
});
});
您在两个匿名函数中使用e
答案 1 :(得分:0)
尝试在提交处理程序后立即移动e.preventDefault();
:
jQuery(document).ready(function(){
jQuery('form[name="filterform"]').on('submit', function(e){
e.preventDefault();
jQuery(document).triggerHandler('favorites-update-all-lists', function(e){
});
return false;
});
});