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ération dans SELECT


Sujet :

JavaScript

  1. #1
    Membre confirmé Avatar de esther60
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 107
    Par défaut récupération dans SELECT
    bonjour!
    je cherche à renvoyer deux variables que l'utilisateur aurait choisi par un formulaire..
    et cela par JS ..mon probléme étant que ces valeurs seraient à choisisr dans une liste déroulante et..je n'arriva pas à voir comment je peux les récupérer et les envoyer via windo.open..

    voici ce que j'ai fait mais cela ne marche pas et je ne vois pas trop comment faire fonctionner tout ça..

    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
     
    <script language="javascript" >
    function modifier(mod)
    {
     
     function modjour(mod)
    {
     var jourmod = document.mod.options[mod.selectedIndex].value;
     return jourmod;
    }
    function modheure(mod)
    {
     var heuremod = document.mod.options[mod.selectedIndex].value;
     return heuremod;
    }
    window.open("p_admin.php?jourmod="+jourmod+"&heuremod="+heuremod ,"","width=950px heigth=950px resizable=yes scrollbars=yes menubar=yes status=yes ");
    window.opener.close();
    self.close();
    }
    </script>
    <body>
    <p>MODIFICATION DE LA BALISE  </p>
      <form name="mod">
      jour :
        <select name="jourmod" onchange="modjour(this)">
          <option value="1">lundi </option>
          <option value="2">mardi </option>
          <option value="3">mercredi </option>
          <option value="4">jeudi </option>
          <option value="5">vendredi </option>
        </select>
     
    <p>heure :
          <SELECT name="heuremod" onchange="modheure(this)">      
       <OPTION value="0">00h00
       <OPTION value="1">01h00
       <OPTION value="2">02h00
          </SELECT>
        </p>  
      </form>
      <input type="button" value="modifier"  onclick="modifier(mod)" />
      </body>

    si vous avez des liens qui expliquent bien la recup d'info de PLUSIEURS select ce serait super merci!

  2. #2
    Membre chevronné Avatar de htr999
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 331
    Par défaut
    quelques modifications
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <head><script language="javascript" >
    // valeur par défaut
    var jourMod="lundi", heureMod="00h00";
     
    function modJour(mod)
    {
    	jourMod = mod[mod.selectedIndex].innerHTML;
    }
     
     
    function modHeure(mod)
    {
    	heureMod = mod[mod.selectedIndex].innerHTML;
    }
     
    function modifier(mod)
    {
    	window.open("p_admin.php?jourmod="+jourMod+"&heuremod="+heureMod ,"","width=950px heigth=950px resizable=yes scrollbars=yes menubar=yes status=yes ");
    	window.opener.close();
    	self.close();
    }
    </script>
    </head>
    <body>
    <p>MODIFICATION DE LA BALISE  </p>
      <form name="mod">
      jour :
        <select name="jourmod" onChange="modJour(this)">
          <option value="1">lundi </option>
          <option value="2">mardi </option>
          <option value="3">mercredi </option>
          <option value="4">jeudi </option>
          <option value="5">vendredi </option>
        </select>
     
    <p>heure :
          <SELECT name="heuremod" onchange="modHeure(this)">      
       <OPTION value="0">00h00
       <OPTION value="1">01h00
       <OPTION value="2">02h00
          </SELECT>
        </p>  
      </form>
      <input type="button" value="modifier"  onclick="modifier(mod)" />
      </body>
    a+

    ps: console d'erreur donne: Erreur : window.opener has no properties
    Fichier source : ../test36.html
    Ligne : 20

  3. #3
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    pourquoi as-tu inclus dans ta fonction modifier, les fonctions modjour et modheure ? Ton navigateur doit retourner des erreurs comme quoi il ne connait pas ces fonctions.

    [edit]
    petites corrections du code posté par htr999 :
    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
     
    <html>
    <title></title>
    <head>
    <script type="text/javascript" >
    // valeur par défaut
    var jourMod="lundi", heureMod="00h00";
     
    function modJour(mod)
    {
            jourMod = mod[mod.selectedIndex].value;
    }
     
     
    function modHeure(mod)
    {
            heureMod = mod[mod.selectedIndex].value;
    }
     
    function modifier(mod)
    {
            window.open("p_admin.php?jourmod="+jourMod+"&heuremod="+heureMod ,"","width=950px heigth=950px resizable=yes scrollbars=yes menubar=yes status=yes ");
            window.opener.close();
            self.close();
    }
    </script>
    </head>
    <body>
    <p>MODIFICATION DE LA BALISE  </p>
      <form name="mod">
      jour :
        <select name="jourmod" onChange="modJour(this)">
          <option value="lundi">lundi </option>
          <option value="mardi">mardi </option>
          <option value="mercredi">mercredi </option>
          <option value="jeudi">jeudi </option>
          <option value="vendredi">vendredi </option>
        </select>
     
    <p>heure :
          <select name="heuremod" onchange="modHeure(this)">
       <option value="00h00">00h00</option>
       <option value="01h00">01h00</option>
       <option value="02h00">02h00</option>
          </select>
        </p>  
      </form>
      <input type="button" value="modifier"  onclick="modifier(mod)" />
      </body>
    </html>
    [/edit]

  4. #4
    Membre confirmé Avatar de esther60
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 107
    Par défaut
    ok je ne dois pas mettre mes 2 fonctions dans une autre fonction mais le probleme c'est que ça ne change rien...
    quand je clique sur modifier rien ne se passe...
    et si vous pouviez svp expliquez un peu le raisonnement sur la fonction modJour et modHeure s(il vous plait...car j'ai pas bien compris pourquoi vous utiliser le nom du formulaire..et pas celui de select...
    enfin si ça ne vous embête pas trop de répondre!
    merci!

  5. #5
    Membre chevronné Avatar de htr999
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 331
    Par défaut
    es-tu sûr que rien ne se passe ? avec le code donné ça devrait afficher une POP-UP.
    si non pour le fonctionnement des 2 fonctions:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function modJour(mod)
    {
    	jourMod = mod[mod.selectedIndex].value;
    }
    ...
        <select name="jourmod" onChange="modJour(this)">
    ...
    à chaque changement de ton Select, la fonction modJour récupère l'élement Select lui-même via le THIS transmis à la fonction
    donc à l'entrée de la fonction
    + mod est "object HTMLSelectElement".
    + mod.selectedIndex retourne l'index de l'élément choisi du select
    + mod[mod.selectedIndex].value renvoie la valeur de l'attribut VALUE

    ici on n'a même pas utilisé le nom du formulaire. On a directement travaillé avec les objet éléments.

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <head><script type="text/javascript" >
    // valeur par défaut
    var jourMod="lundi", heureMod="00h00";
     
    function modJour(mod)
    {
    	jourMod = mod[mod.selectedIndex].value;
    }
     
     
    function modHeure(mod)
    {
    	heureMod = mod[mod.selectedIndex].value;
    }
     
    function modifier()
    {
    	window.open("p_admin.php?jourmod="+jourMod+"&heuremod="+heureMod ,"","width=950px heigth=950px resizable=yes scrollbars=yes menubar=yes status=yes ");
    	window.opener.close();
    	self.close();
    }
    </script>
    </head>
    <body>
    <p>MODIFICATION DE LA BALISE  </p>
      <form name="mod">
      jour :
        <select name="jourmod" onChange="modJour(this)">
          <option value="lundi">lundi </option>
          <option value="mardi">mardi </option>
          <option value="mercredi">mercredi </option>
          <option value="jeudi">jeudi </option>
          <option value="vendredi">vendredi </option>
        </select>
     
    <p>heure :
          <select name="heuremod" onchange="modHeure(this)">
       <option value="00h00">00h00</option>
       <option value="01h00">01h00</option>
       <option value="02h00">02h00</option>
          </select>
        </p>  
      </form>
      <input type="button" value="modifier"  onclick="modifier()" />
      </body>
    </html>
    a+

  6. #6
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Non, on utilise pas le nom du formulaire, c'est la variable qui est mal choisie

    Lors du onchange, on donne le paramètre this comme argument. this désigne l'objet qui génère l'événement et dans ce cas c'est le select. L'objet select est transmis à modJour() et modHeure() via la variable mod.

    Dans ces fonctions mod contient donc l'objet select mais ne fait pas référence au formulaire.

    Ensuite, il y a peut-être un problème de guillemets dans la fonction open
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var urlPage = "p_admin.php?jourmod="+jourMod+"&heuremod="+heureMod;
    window.open(urlPage ,"","width=950px heigth=950px resizable=yes scrollbars=yes menubar=yes status=yes ");

  7. #7
    Membre confirmé Avatar de esther60
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 107
    Par défaut
    ça marche!!!
    merci beaucoup pour vos explications!!
    c'est bizarre mais ça a marché lorsque j'ai enlevé les var dans mes fonctions modjour et modheure....
    enfin bon...en tout cas j'ai compris le coup des select donc merci!!

  8. #8
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 275
    Par défaut
    Penses au tag RESOLU ;-)

  9. #9
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Citation Envoyé par esther60 Voir le message
    ça marche!!!
    merci beaucoup pour vos explications!!
    c'est bizarre mais ça a marché lorsque j'ai enlevé les var dans mes fonctions modjour et modheure....
    enfin bon...en tout cas j'ai compris le coup des select donc merci!!
    oui il faut que tes variables soient globales (déclarées en dehors des fonctions) pas locales (déclarées dans les fonctions).
    Je te conseille de toujours déclarer tes variables.

  10. #10
    Membre confirmé Avatar de esther60
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 107
    Par défaut
    c'était pour ça ..
    j'y penserais les prochaines fois !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/10/2007, 20h06
  2. Lien dans select
    Par LeDoc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 02/08/2005, 11h39
  3. Réponses: 2
    Dernier message: 01/06/2005, 14h28
  4. [date][javascript][sql] récupération dans un formulaire
    Par Shaud7 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/12/2004, 15h45
  5. Ajout de critères dans Select utilisé par xp_sendmail
    Par bd0606 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 28/05/2004, 17h02

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