2010-11-01 3 views
0

Est-il possible d'avoir plusieurs formulaires de contact sur une page et de toujours valider et envoyer un e-mail sans actualisation de la page.Formulaires de contact multiples sur la page PHP - Pas d'actualisation de page

J'ai utilisé le tutoriel ci-dessous, mais si elle est copiée évidemment, cela valide encore que la forme originale ...

http://www.ajaxfreak.com/2009/12/03/submit-a-form-without-page-refresh-using-jquery/

je pouvais copier le JS etc pour chacun des formulaires requis, mais il doit y avoir un façon plus efficace de le faire, peut-être avec des valeurs cachées & formulaire ids ?.

Quelqu'un a des idées?

Merci

Répondre

0

Il est certainement possible, malheureusement la démo manuellement construit la chaîne de données manuellement à l'aide des ID, ce qui ne rend pas facile de convertir à de multiples formes. Il serait beaucoup plus pratique d'utiliser la méthode .serialize() sur le formulaire.

L'exemple (simplifié) suivant devrait fonctionner pour n'importe quel nombre de formulaires sur la page qui ont la classe "ajax". Les éléments d'entrée avec la classe 'required' seront d'abord vérifiés pour une valeur, et la couleur rouge d'arrière-plan sera appliquée si elle est manquante:

$('form.ajax').submit(function() { 
    var validates = true; 
    $(this).find('input.required').each(function() { 
     if($(this).val() == '') { 
     $(this).css('background', '#ff9999'); 
     validates = false 
     } else { 
     $(this).css('background', '#ffffff'); 
     } 
    } 
    if(validates) { 
     $.ajax({ 
     type: "POST", 
     url: "bin/process.php", 
     $(this).serialize(), 
     success: function() { 
      // things to do on success here! 
     } 
     }); 
    } 
    return false; // prevent normal form submission. 
}); 
Questions connexes