2016-06-22 10 views
0

ich den Code untenEvent.preventDefault() funktioniert nicht in jquery

$(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(){ 
     }, 
    }); 

}); 

Eigentlich aus dem obigen Code die breakout Variable wahr und jquery kommen würde, um, wenn Schleife haben, aber es war nicht mit e.preventDefault(); stoppen und gehe zu success method in der unten Ajax-Funktion, die nicht passieren sollte, so was ist hier falsch und warum die e.preventDefault(); hat nicht gearbeitet ?

+0

versuchen Sie es mit 'return false;' – guradio

Antwort

0

e.preventDefault() bricht/kehrt nicht von Ihrem Funktionsaufruf zurück. Wenn Sie die Ausführung der Funktion beenden möchten, rufen Sie return.

if (breakout == true){ 
    return; 
} 
Verwandte Themen