我相信这并不像现在这么难。 我有一个表单,当提交时运行以下函数:
function FORMVALIDATE_add_rota_entry() {
var rota_date = $("#rota_date").val();
var rota_id = $("#rota_id").val();
var am_pm = $("#am_pm").val();
if(rota_date == "")
{
alert("Please enter a date.");
return false;
}
if(rota_id == "error")
{
alert("Please select a rota from the list.");
return false;
}
// check if that rota has already been entered for that date and am/pm
$.ajax({
async:false,
type:"POST",
url:"/modules/rotas/check_rota_entry_existence",
data:{rota_date:rota_date, rota_id:rota_id, am_pm:am_pm},
success: function(result) {
if(result != "0")
{
alert("This rota has already been added to this date, "+am_pm+".");
return false;
}
}
});
}
以下是在表单标签中调用的方法:
onsubmit="return FORMVALIDATE_add_rota_entry();"
这个表单在前两个属性rota_date和rota_id上运行良好,当应该弹出警报时它可以弹出,并且阻止表单提交,但是当到达ajax调用时,它可以正常工作,返回正确的结果,当应该弹出警报时也能够弹出,但是"return false"似乎没有阻止表单提交。有没有人有任何想法?因为我束手无策了!
谢谢!
onsubmit
属性中,e.preventDefault()
不起作用,因此您可能需要删除该部分(只保留第一个替代方案)。 - Ry-