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

JavaScript Discussion :

Récupérer les saisies d'un FORM en JavaScript


Sujet :

JavaScript

  1. #1
    Invité
    Invité(e)
    Par défaut Récupérer les saisies d'un FORM en JavaScript
    Bonjour,
    J'ais du mal à poser ma question , mais je vais essayer d’être claire.
    En saisie classique, par exemple
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form method='POST'  id='LeForm' name='LeForm' onsubmit='UnLoginSaisi(this.lxnom.value,this.mdp.value);return false' action=''  >
      <input  id='lxnom' name='lxnom'>
      <input  type='password' id='mdp' name='mdp'  >
      <input  type='submit'  value=' Validez '>
    </form>
    Vous connaissez, avec ce code, je retrouves dans mon javascript
    toutes mes valeurs , je peux les traiter , les valider puis les envoyer
    par exemple en POST via un AJAX ou autre méthode.
    ma fonction est alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function UnLoginSaisi(xusr,xmp){ /* ========Etc. */ }
    Je butes sur cette méthode, que je voudrais appliquer à des boutons submite

    =======Voici ma version PHP qui marche===============

    Mes boutons sont définis puis lus ainsi
    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
    18
    19
    20
    21
    <?php
    if (isset($_POST["bouton"]))
     {
      echo "vous clique<br />";
    print_r($_POST);
    echo "<br />".count($_POST['bouton'])."<br />";
      for ($a=0; $a<count($_POST['bouton']); $a++)
       {
        echo ("".trim($_POST['bouton'][$a])."<br />");
       }
     }
     else { echo "pas encore de donnees<br />";}
     
     
    ?>
    <form action="index.php" method="post">
    <p><input type="text" name="champ" /></p>
    <p><input type="submit" name="bouton[]" value="Le bouton 1" />&nbsp;
    <input type="submit" name="bouton[]" value="Le bouton 2" />
    <input type="submit" name="bouton[]" value="Le bouton 3" /></p>
    </form>

    ENFIN voici ma question OUF
    Quelle syntaxe (dans ce cas qui fonctionne en PHP) ,je devrais utiliser pour passer mes paramètres à une fonction de la même façon que mon 1er exemple.

    Merci de m'avoir lu, et espérant une solution .
    Dernière modification par Bovino ; 05/02/2014 à 14h38. Motif: Merci d'indiquer le langage utilisé ([code=xxx]) pour activer la coloration syntaxique !

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    jquery ajax et serialize ...

  3. #3
    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
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Désolé Christele, mais je ne comprends pas ta question...
    Je ne suis même pas sûr qu'elle ai un rapport avec JavaScript...
    Enfin, en tout cas, pour valider un champ, il est préférable d'avoir une fonction générique prenant en paramètre la valeur d'un champ et un filtre à tester qu'une fonction spécifique prenant uniquement en paramètre les valeurs de champs à tester.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function verif(val, filtre){
        return filtre.test(val);
    }
    console.log(verif('Foo_Bar', /^\w+$/i));  // true
    console.log(verif('foo_bar', /^[a-z]+$/));  // false
    console.log(verif('123', /^\d+$/));  // true

  4. #4
    Invité
    Invité(e)
    Par défaut
    Merci à vous deux de m'avoir lu,
    Ma question concerne donc uniquement le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onsubmit='UnLoginSaisi(this.lxnom.value,this.mdp.value);return false'
    Que je veux adapter au deuxiéme cas de saisie, donc des boutons ... comme mon exemple PHP.

    Donc c'est bien du JavaScript (enfin oui du HTML si vous voulez )

    Je souhaites donc tout simplement appeler de cette façon la fonction de mon choix, en "passant" tout simplement a cette fonction la value du bouton cliqué.

    Peut-étre voyez vous mieux ce que je souhaite
    Encore merci.

  5. #5
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    modifie une variable sur le click du bouton ???

  6. #6
    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
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Oui, je comprends mieux, sauf que d'une part, ce n'est pas possible sur le onsubmit de savoir quel submit a été cliqué et surtout, je ne vois vraiment pas l'utilité de la chose...

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Oui, je comprends mieux, sauf que d'une part, ce n'est pas possible sur le onsubmit de savoir quel submit a été cliqué et surtout, je ne vois vraiment pas l'utilité de la chose...
    L’utilité de la chose est de modifier et contrôler certains argument en fonction du
    du bouton choisi, dans le but d'envoyer en POST, ma requéte AJAX (sans jQUERY bien sur tu me connais )

    donc genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function UnLoginSaisi(Lebouton)
     {
    if (Lebouton=='truc') Mon_apel_ajax(114415,'machin' );
    if (Lebouton=='machin') Mon_apel_ajax(117400,'autre' );
     }

  8. #8
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    rajoute un input type hidden dans ton form ... et sur le click de tes boutons tu mets leur id dasn el value du hidden... tu sauras ainsi quel est le dernier bouton clické ...

  9. #9
    Invité
    Invité(e)
    Par défaut
    Arhhhhh voila une bonne piste, je dois partir, mais je testes ce soir et revient te dire si j'ais réussi, merci !

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Vraiment je dormais sans doute c'était si simple
    Code:html/javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    <script type="text/javascript">
    function maF(x)
    {
    document.getElementById('leid').innerHTML = x;
    }
    </script>
    <p><INPUT type="button" value='bouton 1' onClick="javascript:maF('bouton1')"></p>
    <p><INPUT type="button" value='bouton 2'  onClick="javascript:maF('bouton2')"></p>
    <p><INPUT type="button" value='bouton 3'  onClick="javascript:maF('bouton3')"></p>
    <br />
    <div id="leid"></div>
    Merci encore à vous pour le dérangement

  11. #11
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 921
    Points
    44 921
    Par défaut
    Bonjour,
    une autre approche, plus simple me semble t-il, est d'utiliser la fonction sur l'événement onclick pour faire ce que tu as à faire
    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
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta charset="UTF-8">
    <title>[Exemple]</title>
    </head>
    <body>
    <form action="la_page.html">
      <button name="btn_1" value="btn_1">Bouton #1</button>
      <button name="btn_2" value="btn_2">Bouton #2</button>
    </form>
    <script>
    var oForm = document.forms[0],
        oBtn = oForm.getElementsByTagName('BUTTON'),
        i, nb = oBtn.length;
    for( i=0; i<nb ;i++){
      oBtn[i].onclick = function(){
        // mettre fonction suivant le name par exemple
        alert( this.name);
        return false;
      };
    }
    </script>
    </body>
    </html>

  12. #12
    Invité
    Invité(e)
    Par défaut
    L'Ami, ton code ne fait pas du tout ce que je demandes, car il s'agit de passer un paramètre à du JavaScript pas avec un FORM dont l'action relance la page

  13. #13
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    une soumission de form ça s'inhibe ...

  14. #14
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 921
    Points
    44 921
    Par défaut
    L'Ami, ton code ne fait pas du tout ce que je demandes...
    je te le concède ceci n'est qu'un exemple, mais tu peux mettre dans la fonction ce que bon te semble


    ...pas avec un FORM dont l'action relance la page
    tu auras surement remarqué le return false qui peut comme le signale SpaceFrog, d’inhiber l'action par défaut, mais si tu n'a pas besoin de FORM tu peux l'enlever le code ne changera pas.


    dans ta syntaxe
    onClick="javascript:maF('bouton1')"
    un événement n'attends pas une recette de crêpes suzette(*), mais du javascript, il est donc complétement inutile de mettre javascript:.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" value='bouton 1' onclick="maF('bouton1')">
    au final ce que je t'ai écrit est la même chose que ce que tu cherches à faire mais sans mélanger HTML et javascript.

    (*) dixit SpaceFrog

  15. #15
    Invité
    Invité(e)
    Par défaut
    Parfait et merci pour tes précisions

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

Discussions similaires

  1. Récupérer les éléments de mon form
    Par lenoil dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 16/08/2011, 14h25
  2. Créer des TextBox et récupérer les saisies.
    Par Tony Truand dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/06/2008, 21h21
  3. Récupérer les données d'un form.
    Par damaskinos dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/12/2007, 23h32
  4. Récupérer les paramètres "GET" sous forme de String
    Par vanitom dans le forum Langage
    Réponses: 2
    Dernier message: 22/02/2007, 15h00
  5. [PostgreSQL] [PostGreSQL] récupérer les champs booléens sous forme "false" au lieu de "f"
    Par novices dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/02/2007, 10h48

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