我在表单外面有一个按钮,按下后,提交我的表单。该表单上有一个事件,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;
});
您已经在回调开始时调用了e.preventDefault();
,这会抑制事件的默认行为(当然,这种行为是提交的)。当你回归真实时,为时已晚。
如果你删除该行,你应该没问题。