我在表单外部有一个按钮,当按下该按钮时,将提交我的表单。该表单上有一个onSubmit事件,该事件将触发,然后仅进行一些表单检查,以确保存在字段。在表单末尾,我返回true,什么也没有发生。似乎无法弄清楚。欣赏额外的眼睛。我确实验证了该函数已被调用,并使其一直通过检查,但是什么也没有发生。这是代码:
$(document).on('click','.but_addTask',function(e){
e.preventDefault();
$('#addTaskForm').submit();
});
$(document).on('submit','#addTaskForm',function(e){
e.preventDefault();
var description = $('#description').val();
var dueDate = $('#dueDate').val();
if(!$('.taskClientID').length){
alert('Please add client(s) to task');
$('#taskClientSearch').focus();
return false;
}
if(description==""){
alert("Please enter a description")
$('#description').focus();
return false;
}
if(!$('.taskAuditorID').length){
alert('Please add owner(s) to task');
$('#taskOwnersSearch').focus();
return false;
}
if(dueDate==""){
alert("Please enter a dueDate")
$('#dueDate').focus();
return false;
}
console.log('made it!');
return true;
});
答案 0 :(得分:2)
您已经在回调的开始处调用了e.preventDefault();
,它取消了事件的默认行为(在这种情况下,当然是要提交的行为)。到您返回true时,为时已晚。
如果删除该行,就可以了。