2016-06-02 10 views
2

Unten ist mein Code, Wie kann ich SubmitMedicalSignup() -Funktion aufrufen, sobald bValidator True nur beim Senden Schaltfläche klicken?Wie ruft man eine Funktion auf, wenn die bValidator-Funktion wahr zurückgibt?

<form method="post" data-bvalidator-validate data-bvalidator-option-validate-till-invalid="true"> 
    <label class="label required"> First Name <font>:</font> </label> 
    <input type="text" name="contact_person_first_name" ng-model="MedicalData.contact_person_first_name" class="form-control" data-bvalidator="alpha,minlen[50],required" data-bvalidator-msg="First Name Required."> 
    <button type="submit" name="" id="" ng-click="SubmitMedicalSignup()" value="Register as a physician" class="btn-blue"> Submit 
    </form> 

<!-- validation --> 
<script type="text/javascript" src="<?php echo FRONTEND_THEME_URL ?>js/vendor/jquery.bvalidator.js"></script> 
<script type="text/javascript" src="<?php echo FRONTEND_THEME_URL ?>js/themes/presenters/default.min.js"></script> 
<script type="text/javascript" src="<?php echo FRONTEND_THEME_URL ?>js/themes/gray/gray.js"></script> 
<link href="<?php echo FRONTEND_THEME_URL ?>js/themes/gray/gray.css" rel="stylesheet" /> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $('form').bValidator(); 
}); 
</script> 

Antwort

0

Aktion Anruf Methode wie ng-submit="function_name()" einreichen

<form method="post" data-bvalidator-validate data-bvalidator-option-validate-till-invalid="true" ng-submit="function_name()"> 

dann wird es zuerst bvalidator Funktion dann wird es auf Senden Funktion aufrufen.

1

Sie können Ausdrücke wie ng-click="bValidator && SubmitMedicalSignup()" verwenden. Es sollte den Trick machen, aber es ist nicht der sauberste Weg, dies zu erreichen. Sie können eine Funktion in Ihrem zugeordneten Controller aufrufen, die prüft, ob bValidator true ist und dann Ihre Funktion auslöst.

+0

bValidator Validierung funktioniert, aber Formular Submission stop Ausführung –

+0

Was protokolliert Ihre Konsole? –

+0

Ich werde meinen vorherigen Post bearbeiten. –

0

können Sie einstellen, validateOnSubmit Option false und rufen Validierung mit Javascript auf dem Formular abgesendet haben, und wenn es keine Fehler nennen SubmitMedicalSignup() Validierung ist:

<form method="post" data-bvalidator-validate data-bvalidator-option-validate-till-invalid="true" data-bvalidator-option-validate-on-submit="false"> 
    .... 
    .... 

<script type="text/javascript"> 
$(document).ready(function() { 
    $('form').on('submit', function (e) { 
     e.preventDefault(); // stop submit event 
     if($('form').data('bValidator').validate()){ 
      SubmitMedicalSignup(); 
      $('form').submit(); // submit the form 
     } 
    }); 
}); 
</script> 
0
flag = 0; 
    jQuery("form").on("submit", function (e) { 
     if(flag == 0){ 
     e.preventDefault(); 
     if(jQuery('form').data('bValidator').validate()) { 
      // Do your processing 
      flag = 1; 
      jQuery("form").submit(); 
      } 
     } else { 
     flag = 0; 
     } 
     }); 
Verwandte Themen