mercredi 1 juillet 2015

return false not preventing form from submitting

I am trying to validate a field using $.get request. I can see the error message("Plan already present") but the form is getting submitted. I want to prevent form from submitting. Here is my code:

$("#add_plan_subscriptions").submit(function(event) {
    var flag = true;
    var subdomain_val = $('[name="plan[subdomain_type_id]"]').val();
    var plan_val = $('[name="plan[plan_type_id]"]').val();
    var plan_name = $('[name="plan[plan_name]"]').val();
    var subdomain_type_id = subdomain_val;
    var plan_name = $('[name="plan[plan_name]"]').val();
    $.get("/plans/check_duplicate_plan",{subdomain_type_id: subdomain_type_id, plan_name: plan_name}, function (response) {
      if (response){
        event.preventDefault() ;
        var element = $('[name="plan[plan_name]"]');
        var message = "Plan already present";
        addError(element,message)
        return false;
      }
      else{
        var element = $('[name="plan[plan_name]"]');
        removeError(element)
      }
    })
    if(subdomain_val == ""){
      var element = $('[name="plan[subdomain_type_id]"]')
      var message = "Please select user type"
      addError(element,message)
      flag = false;
    } 
    if(subdomain_val != ""){
      var element = $('[name="plan[subdomain_type_id]"]')
      removeError(element)
    }
    if(plan_val == ""){
      var element = $('[name="plan[plan_type_id]"]')
      var message = "Please select plan type"
      addError(element,message)
      flag = false;
    } 
    if(plan_val != ""){
      var element = $('[name="plan[plan_type_id]"]')
      removeError(element)
    }
    if (!flag){
      event.preventDefault();
      return false;
    }
    return true;
});

Aucun commentaire:

Enregistrer un commentaire