我有以下代码
$(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()
;不工作?
答案 0 :(得分:0)
e.preventDefault()
不会从您的函数调用中断/返回。如果要完成函数执行,请调用return
。
if (breakout == true){
return;
}