2009-09-23 9 views
0

J'utilise ce script jQuery Validation pour soumettre ma forme (s), mais je besoin d'aide peaufinage pour afficher le message, et de montrer à nouveau le formulaire (après le dépôt)jQuery Validation Ajax Soumission Aide

http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/

^^ le code

http://www.position-relative.net/creation/formValidator/demoSubmit.html

^^ la démo

Si vous regardez la démo, Je voudrais qu'il affiche le message vert et affiche à nouveau le formulaire (plutôt que de le cacher) .. Je n'arrive pas à comprendre où dans le script pour le changer .. voici l'extrait du code JS qui fait la fonction ajax soumettre:

submitForm: function (caller) { 
     if ($.validationEngine.settings.ajaxSubmit) { 
      $.ajax({ 
       type: "POST", 
       url: $.validationEngine.settings.ajaxSubmitFile, 
       async: true, 
       data: $(caller).serialize(), 
       beforeSend: function() { 

       }, 
       success: function (data) { 
        if (data == "true") { // EVERYTING IS FINE, SHOW SUCCESS MESSAGE 
         $(caller).css("opacity", 1) 
         $(caller).animate({ 
          opacity: 0, 
          height: 0 
         }, 
         function() { 
          $(caller).css("display", "none") 
          $(caller).before("<div class='ajaxSubmit'>" + $.validationEngine.settings.ajaxSubmitMessage + "</div>") 
          $.validationEngine.closePrompt(".formError", true) 
          $(".ajaxSubmit").show("slow") 
          if ($.validationEngine.settings.success) { // AJAX SUCCESS, STOP THE LOCATION UPDATE 
           $.validationEngine.settings.success && $.validationEngine.settings.success(); 
           return false; 
          } 
         }) 
        } else { // HOUSTON WE GOT A PROBLEM (SOMETING IS NOT VALIDATING) 
         data = eval("(" + data + ")"); 
         errorNumber = data.jsonValidateReturn.length 
         for (index = 0; index < errorNumber; index++) { 
          fieldId = data.jsonValidateReturn[index][0]; 
          promptError = data.jsonValidateReturn[index][1]; 
          type = data.jsonValidateReturn[index][2]; 
          $.validationEngine.buildPrompt(fieldId, promptError, type); 
         } 
        } 
       } 
      }) 
      return true; 
     } 
     if ($.validationEngine.settings.success) { // AJAX SUCCESS, STOP THE LOCATION UPDATE 
      $.validationEngine.settings.success && $.validationEngine.settings.success(); 
      return true; 
     } 
     return false; 
    }, 

Répondre

1

la mise à jour si la déclaration pourrait ressembler à quelque chose comme:

if (data == "true") { // EVERYTING IS FINE, SHOW SUCCESS MESSAGE 
    $(caller).before("<div class='ajaxSubmit'>" + $.validationEngine.settings.ajaxSubmitMessage + "</div>") 
    $.validationEngine.closePrompt(".formError", true) 
    $(".ajaxSubmit").show("slow") 
    if ($.validationEngine.settings.success) { // AJAX SUCCESS, STOP THE LOCATION UPDATE 
    $.validationEngine.settings.success && $.validationEngine.settings.success(); 
    return false; 
    } 
} 
+0

Hmm je cachèrent, mais le message ne montre pas .. cela ne veut pas sauver ... pas js erreurs dans FF non plus, ne fait rien .. – SoulieBaby

+0

Ahh je l'ai eu .. J'ai changé l'opacité et la hauteur de dire 1 et le css pour afficher en ligne .. fonctionne comme un charme maintenant .. Merci pour votre aide !! :) – SoulieBaby

+1

Oh désolé, dans ma hâte j'ai raté qu'il y a un rappel dans la fonction animée! – Colin