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 des valeurs de plusieurs créés en javascript


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut récupérer des valeurs de plusieurs créés en javascript
    Bonjour à tous,

    j'ai un formulaire global dans lequel j'ai inclus la création de champs en fonction d'une liste déroulante, en javascriptà l'aide cette petite fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function ajouter(form) 
    {
      var Obj  = document.getElementById( 'D_INPUT'); // Recup du DIV
      var Html = ""; // le nouveau contenu
      var nb_rep = eval(form.nb_reponse.value);
      for (i=1; i<=nb_rep; i++)
      {
        Html += '<tr><th>Zone: </th><td><input name="nom' + i + '" type="hidden"<input type="text" name="nom' + i + '"></td><th>Parcelle: </th><td><input type="text" name="parcelle' + i + '"></td><th>Surface: </th><td><input type="text" name="surface' + i + '"></td></tr>';
      }
        Obj.innerHTML = Html; // ecriture dans le TABLE
    }
    donc en fait si je selectionne le nombre 2 dans ma liste déroulante cela me créé 2 x 3 champs. Ce que j'aimerais faire c'est qu'une fois que j'appuie sur le bouton enregistrer je puisse récupérer les valeurs de mes champs sachant que chaque groupe de 3 champs doit être enregistré en base.
    Par exemple si j'ai 1 seul fois 3 champ je n'aurai que 1 enregistrement en base sachant que ces 3 champs correspondent à 3 champs de ma base.


    Voici un petit bout du formulaire :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <form>
    <table>
      <tr>
             <th>Nom</th>
            <td><input type="text" value="$R[prenom]"</td>
      </tr>
      <tr>
            <th>Choix des zones</th>
            <td>
              <select name="nb_reponse" onchange="ajouter(this.form)"">
                 <option value="1"> 1 </option>
                 <option value="2"> 2 </option>
                 <option value="3"> 3 </option>
                 <option value="4"> 4 </option>
                 <option value="5"> 5 </option>
                 <option value="6"> 6 </option>
                 <option value="7"> 7 </option>
                 <option value="8"> 8 </option>
                 <option value="9"> 9 </option>
                 <option value="10"> 10 </option>
              </select>
            </td>
            <tr>
        </table>
        <table id="D_INPUT">
     
        </table>
        <table>
        <tr>
              <td><input class="save_fiche_affaire" type="submit" value=""></td>
          </tr>
        </table>
     </form>
    Auriez-vous une petite idée de comment faire?

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    Salut,
    j'ai pas trop compris mais dans le gros de l'histoire ce que j'ajouterais serais un champs hidden dont la valeur serait égale à celle sélectionné dans la liste déroulante comme ça sur la page de traitement suivante, je pourrais alors savoir en fonction de la valeur de cette variable le nombre d'élément à traiter etc ....

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Un truc du genre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $i = 7 //mon nombre récupéré dans le hidden
     
    for($i=1;$i<=7;$i++)
    {
      je boucle sur mes 7 lignes de 3 champs en les enregistrant au fur et a mesure
    }
    Oui, effectivement c'est une simple boucle à faire quoi. Pourquoi je n'y ai pas pensé plus tôt.

    Est-ce que je suis bien ta pensée?

  4. #4
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Juste une remarque en passant : je ne sais pas dans quel contexte de projet tu veux utiliser un code comme celui-ci, mais faire un eval direct sur un contenu saisi par l'utilisateur, sans même une vérification du contenu, c'est quand même un peu kamikaze en terme de sécurité... (mais, je le répète, je ne connais pas le contexte, ce n'est peut-être qu'un code expérimental, ou un outil interne autorisant ce genre de prise de risques... ^^)

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    autant le faire correctement, que ça soit pour la table ou pour les input ...

    EDIT : +1000 Romain. En plus l'eval() n'apporte rien par rapport à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var nb_rep = parseInt(form.nb_reponse.value, 10);
    A+

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour à ceux qui ont rejoint. Merci pour vos conseils d'optimisation. J'ai remplacé le eval par un parseInt. Bon c'est vrai que c'est pour un intranet mais autant le faire selon vos conseils. Mais je ne comprends pas bien le changement en terme de sécurité. Sinon mon problème initial est résolu. Effectivement une simple boucle for à partir du nombre récupérer dans le input. Vraiment basique quoi. Honte à moi d'avoir posté. Donc encore une fois merci à tous. Je mets mon post en résolu mais pouvez-vous juste me dire la différence donc en terme de sécurité entre eval et parseInt car j'avoue que ce n'est pas forcément quelque chose que je maitrise la sécurité.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 19/04/2008, 14h03
  2. Réponses: 2
    Dernier message: 04/03/2008, 09h48
  3. récupérer des valeurs javascript depuis xsl
    Par luna007 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 16/02/2008, 22h39
  4. Récupérer des valeurs dans plusieurs variables
    Par cortex024 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 26/01/2007, 15h33
  5. [Javascript] PB pour récupérer des valeurs !
    Par chaser_T dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/04/2006, 10h26

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