IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Valider individuellement plusieurs formulaires


Sujet :

jQuery

  1. #1
    Membre chevronné Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Par défaut Valider individuellement plusieurs formulaires
    Bonjour à tous, je souhaiterai dans une page qui comporte plusieurs formulaires les traiter 1 à 1 sans recharger ma page.

    Je pensais donc passer par Jquery, j'ai écumé pas mal d'exemple et de tuto mais je n'en trouve aucun qui correspond à mon besoin et je ne vois pas comment faire.

    Mes formulaires sont généré via une boucle PHP, chacun à son propre identifiant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="formulaire_'.$i.'" action="traitement_bdd.php" method="post">
    Si vous pouvez m'indiquer une piste ou une ebauche de code je vous en remercie

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    oui avec $.ajax, $.post ou $.get de JQuery ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 208
    Par défaut
    Bonjour,
    Je pensais donc passer par Jquery...
    je parlerais plutôt d'utiliser la technique Ajax, jQuery mettant à disposition des méthodes.

    Pour une première approche Comprendre les mécanismes d'AJAX

  4. #4
    Membre chevronné Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Par défaut
    J'ai bien suivis vos réponses, j'ai tenté d'adapter un code trouvé dans un billet sur le sujet, mais ma page se recharge tout de même à l'execution, sauriez vous m'indiquer une poste pour mon erreur ?


    Merci par avance pour votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    $(document).ready(function() {     
    // lorsque je soumets le formulaire     
    $('#formulaire_1').on('submit', function() {           
    // je récupère les valeurs         
    var pseudo = $('#nserie1').val();         
    var mail = $('#date1').val();           
    // je vérifie une première fois pour ne pas lancer la requête HTTP         
    // si je sais que mon PHP renverra une erreur         
    if(pseudo == '' || mail == '') {             
    alert('Les champs doivent êtres remplis');        
     } else {            
     // appel Ajax             
     $.ajax({                 
     url: $(this).attr('traitement_bdd.php'), // le nom du fichier indiqué dans le formulaire                
     type: $(this).attr('post'), // la méthode indiquée dans le formulaire (get ou post)                 
     data: $(this).serialize(), // je sérialise les données (voir plus loin), ici les $_POST                
     success: function(html) { // je récupère la réponse du fichier PHP                    
     alert(html); // j'affiche cette réponse                 
     }    
     });         
     }         
     return false; // j'empêche le navigateur de soumettre lui-même le formulaire     });
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form name="formulaire_'.$i.'" action="traitement_bdd.php" method="post">  
    SN[]=><input type="text" id="nserie1" name="nserie1" value="SN67891"></input><BR />
    DATE[]=><input type="text" id="date1" name="date1" value="14/05/2013"></input><BR />

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if(isset($_POST['nserie1']) && isset($_POST['date1'])) {
         if(($_POST['nserie1'] != '') && ($_POST['date1'] != '')) {
    	 $reponse = 'ok';     } 
    	 else {         $reponse = 'Les champs sont vides';     
    	 } } 
    	 else {     
    	 $reponse = 'Tous les champs ne sont pas parvenus'; 
    	 }  
    	 echo json_encode($reponse);

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ton formulaire n'ayant pas d'id, il y a peu de chances que ce code soit exécuté un jour...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre chevronné Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Par défaut
    Je ne comprend pas bien ta réponse, mon formulaire à un "name" et cela dit je viens de tenter avec un "id" j'ai le même soucis, rechargement de la page

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="formulaire_1" id="formulaire_1" action="traitement_bdd.php" method="post">

  7. #7
    Membre chevronné Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Par défaut
    Je reviens vers vous, j'ai largement modifié mon idée de départ pour arriver à ceci

    Je traite l'ensemble de mes formulaires via le $("form"), mon soucis est que je peux avoir 10 ou 15 formulaires/page à traiter individuellement

    Lors du traitement, j'obtien un Undefined variable pour l'ensemble de mes variables de formulaire. La fonction serialize() devrait pourtant me récupérer mes valeurs de formulaire et helas ce n'est pas le cas.

    Merci pour votre coup de pouce par avance

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <script>
    $(document).ready(function() {     
    		$("form").submit(function () {
                $.post("traitement_bdd.php",$("form").serialize(),function(texte){
                    $("div#status").append(texte);
                });
                return false; // ne change pas de page
        });   
     }); 
    </script>

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    La fonction serialize() devrait pourtant me récupérer mes valeurs de formulaire
    Oui, mais tel que tu l'écris
    tu récupères les valeurs de tous les champs de tous les formulaires et pas uniquement celui que tu es en train de traiter !
    conviendra mieux.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  9. #9
    Membre chevronné Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Par défaut
    Je passe en résolu, cela fonctionne merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] [Form] Validation de plusieurs formulaire d'un coup
    Par Ducky93 dans le forum Symfony
    Réponses: 8
    Dernier message: 28/08/2012, 11h39
  2. validation de plusieurs formulaires sur la meme page
    Par sheisqo dans le forum Langage
    Réponses: 3
    Dernier message: 26/03/2009, 21h55
  3. Réponses: 3
    Dernier message: 28/05/2008, 11h43
  4. plusieurs formulaire valider et prob $_POST
    Par BigBarbare dans le forum Langage
    Réponses: 7
    Dernier message: 07/04/2006, 12h09
  5. [W3C] Valider plusieurs formulaires
    Par effree dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 30/01/2006, 18h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo