3 Stimmen

validationEngine sendet Formular nicht mit onValidationComplete

$(document).ready(function(){
    jQuery("#bbSignup").validationEngine('attach', {
  onValidationComplete: function(form, status){
      if ( status == "true" ) {
$("#bbSignup").submit();
    $("#bbSignup").hide();
    $("#bbRegister").insertAfter("Form Submitted");
      } else {

      }
  }  
});
   });

Wenn ich alle Formulare ausfülle und auf "Senden" drücke, passiert nichts. Auch mehrmaliges Drücken bringt nichts. Hat jemand eine Idee?

---EDIT---

Ich habe sie in diese geändert:

jQuery("#bbSignup").validationEngine('attach', {
onValidationComplete: function(form, status){
if ( status == "true" ) {
alert(" The status is " + status + " and will submit ");
} else {
alert(" The status is " + status + " and will not submit ");
}
}  
});

Wenn nichts ausgefüllt ist, wird die Warnung else korrekt ausgelöst. Wenn alles ausgefüllt ist, sagt die Warnung "Der Status ist wahr und wird nicht übermittelt". Es ist also so, als ob if status == true nie aufgerufen wird komisch

2voto

christiansabor Punkte 321

Wenn onValidationComplete eine Funktion zugewiesen ist, wird diese ausgeführt stattdessen des übermittelten Formulars. Ihre Beschreibung entspricht also genau dem, was jQuery-Validation-Engine leisten soll.

Bis zur Version 2.6.4 der jQuery-Validation-Engine war dies das einzige Verhalten, ab dieser Version können Sie in onValidationComplete true zurückgeben, um der Validierungs-Engine mitzuteilen, dass sie das Formular weiter absenden soll. Das Standardverhalten, wenn die Funktion keinen Rückgabewert hat, ist immer noch, das Absenden zu stoppen.

Véase https://github.com/posabsolute/jQuery-Validation-Engine/pull/442 für die Änderung der Handhabung von Rückgabewerten.

1voto

Mitya Punkte 32264

Dies ist nur eine Vermutung, aber Sie befragen status als ob er eine Schnur hält. Da Sie auf die Zeichenketten testen "true" y "false" Es ist jedoch wahrscheinlicher, dass es sich um einen Booleschen Wert handelt.

Versuchen Sie einfach

if (status) { //test it against the boolean true, not string "true"

0voto

Robin Gomez Punkte 323

Versuchen Sie dies...

<script>
  jQuery(document).ready( function() {
    jQuery("#formID").validationEngine('attach',{
     onValidationComplete: function(form, status){
      if (status == true){
       YourFunctionReload();
       // here :)
       return true;
      }}});
    });
</script>

0voto

mrrsb Punkte 601

Bitte probieren Sie dies aus und hoffen Sie, dass es bei Ihnen funktioniert.

$('#formID').validationEngine('attach',{
    onValidationComplete: function(form, status){

        if (status == true){
            $("#formID").submit();
            return true;
        }

    }
});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X