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

AJAX Discussion :

Simplifier l'envoi de nombreuses données


Sujet :

AJAX

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 34
    Points : 25
    Points
    25
    Par défaut Simplifier l'envoi de nombreuses données
    bonjour à tou(te)s

    j'ai un formulaire en ajax et je souhaite simplifier le passage de mes variables pour éviter de me répéter 100 fois. J'ai essayé $(this).serialize() mais rien n'y fait, je n'arrive pas à simplifier dans le $.post l'envoi de mes datas. Il n'y a pas de formule plus simple ? Toute ma reconnaissance à celui ou celle qui peut m'aider.

    Code HTML : 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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta charset="UTF-8">
    </head>
    <body>
    <div id="remarque"></div>
        <form id="form">
          <table>
          <tr>
            <td>Votre Adresse mail :</td>
            <td colspan="9"><input type="text" id="email" name="email" size="50"></td>
          </tr>
          <tr>
            <td>Vos coordonnées postales :</td>
            <td colspan="9"><input type="text" id="poste" name="poste" value="Exemple 75000 PARIS" size="100"></td>
          </tr>
          <tr>
            <td colspan="10">&nbsp;</td>
          </tr>
          <tr>
            <td>Carte A : l'empereur Palpatine</td>
            <td colspan="9"><input type="number" id="quantityA" name="quantityA" min="0" max="50" value="0" style="width: 4em;"></td>
          </tr>
          <tr>
            <td>Carte B : Yoda</td>
            <td colspan="9"><input type="number" id="quantityB" name="quantityB" min="0" max="50" value="0" style="width: 4em;"></td>
          </tr>
          <tr>
            <td>Carte C : R2-D2</td>
            <td colspan="9"><input type="number" id="quantityC" name="quantityC" min="0" max="50" value="0" style="width: 4em;"></td>
          </tr>
          <tr>
            <td>Carte D : Chewbacca</td>
            <td colspan="9"><input type="number" id="quantityD" name="quantityD" min="0" max="50" value="0" style="width: 4em;"></td>
          </tr>
          <tr>
            <td>Carte E : Kylo Ren</td>
            <td colspan="9"><input type="number" id="quantityE" name="quantityE" min="0" max="50" value="0" style="width: 4em;"></td>
          </tr>
          <tr>
            <td>Carte F : BB-8</td>
            <td colspan="9"><input type="number" id="quantityF" name="quantityF" min="0" max="50" value="0" style="width: 4em;"></td>
          </tr>
          <tr>
            <td>Carte G : Jabba le Hutt</td>
            <td colspan="9"><input type="number" id="quantityG" name="quantityG" min="0" max="50" value="0" style="width: 4em;"></td>
          </tr>
          <tr>
            <td>Carte H : Jawa</td>
            <td colspan="9"><input type="number" id="quantityH" name="quantityH" min="0" max="50" value="0" style="width: 4em;"></td>
          </tr>
         </table>
          <br><br><input type="submit" id="poster" value="Proposer mon Album !" class="button" />
        </form>
     
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script>
            $("#poster").on("click", function(e){
                            e.preventDefault();
     
                            $.post( 
                                    "verification.php", // Un script PHP
                                    {
                                            email : $("#email").val(),
                                            poste : $("#poste").val(),
                                            quantityA : $("#quantityA").val(),
                                            quantityB : $("#quantityB").val(),
                                    },
                                    function(data){
                                            var email = $("#email").val();
                                            var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
                                            if (reg.test(email))
                                                    {
                                                            if (data.indexOf("Success")>=0) {
                                                                    $("#remarque").html("<div class='zone_ok'>Merci pour ta participation, tu vas recevoir un mail très rapidement.<br>"+data+"</div>");
                                                                    $("#form").remove();
                                                            }
                                                            else{
                                                                    $("#remarque").html("<div class='zone_erreur'>Erreur ! les champs ne sont pas bien remplis !</div>");
                                                            }
                                                    }
                                                    else
                                                    {
                                                    alert("Veuillez renseigner un bon mail !");
                                                    }
                                    }
                            );
                    });
        </script>           
    </body>
    </html>

    et le fichier php
    Code php : 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
    <?php 
    $code="";
    foreach($_REQUEST as $key=>$val)
    	{
    	$code=$code."&".$key."=".$val;
    	}
     
    if ((isset($_REQUEST["email"]))&&($_REQUEST["email"]<>""))
    	{
    		echo "Success".$code;
    	}
    	else
    	{
    		echo "Erreur";
    	}
     
     ?>

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    je souhaite simplifier le passage de mes variables pour éviter de me répéter 100 fois.
    je ne comprends pas trop ce que tu souhaites nous dire !

    tu pourrais peut être passer également par des « names » sous forme de tableau name="quantity[]".

    .serialize() s'applique au formulaire, pas au bouton submit.

    Tu peux aussi passer par un objet FormData.

    Côté serveur fait un simple
    ... pour voir ce que tu reçois.

Discussions similaires

  1. Envoi d'email : Données non initialisées
    Par Xecar dans le forum VB.NET
    Réponses: 1
    Dernier message: 03/12/2008, 01h48
  2. Réponses: 3
    Dernier message: 02/11/2008, 19h43
  3. Formulaire n'envoie pas les données
    Par vladock dans le forum Langage
    Réponses: 7
    Dernier message: 04/08/2008, 13h24
  4. Envoie automatique de données.
    Par Logarythme dans le forum InfoPath
    Réponses: 4
    Dernier message: 23/05/2008, 10h35
  5. Envoi de plusieurs données a la fois
    Par cocosql dans le forum InfoPath
    Réponses: 11
    Dernier message: 16/05/2008, 10h54

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