【发布时间】:2016-06-22 04:22:33
【问题描述】:
我有以下代码
$(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();没有工作?
【问题讨论】:
-
尝试使用
return false;
标签: jquery event-handling preventdefault