我有以下代码
$(document).on("click", ".create_new_sdf", function(e) {
var protocol = $(".prtcl").val();
var domain = $(".domain").val();
if (domain == ""){
alert("Domain should not be empty !");
return
}
var breakout = false;
var prdcn = $(".production").prop("checked");
$(".newly_added_row").each(function(index){
var wildcard = $(this).find('.worker_wildcard').val();
if (wildcard == ""){
alert("Worker wildcard should not be empty");
breakout = true;
}
});
if (breakout == true){
e.preventDefault();
}
$.ajax({
type: 'POST',
url: '/***/******/',
data:{******}
dataType: "json",
success: function(response){
console.log(response);
debugger;
window.location.reload();
},
error: function(){
},
});
});
实际上从上面的代码中,breakout
变量是正确的,jquery 来到 if 循环,但它并没有停止e.preventDefault();
并在下面的 ajax 函数中success method
,这不应该发生,所以这里出了什么问题,为什么e.preventDefault()
; 不起作用?
e.preventDefault()
不会中断/返回函数调用。如果要完成函数执行,请调用return
。
if (breakout == true){
return;
}