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 :

Action avec bouton radio.


Sujet :

JavaScript

  1. #21
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    Oui, tu peux affecter une classe au TD lors de sa création.
    Pour IE:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    td_objet.setAttribute("className","le_nom_de_ta_classe");
    Pour les autres:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    td_objet.setAttribute("class","le_nom_de_ta_classe");
    Un ascenseur est une machine qui passe quand même la moitié de son temps à descendre.

  2. #22
    Membre régulier Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    Salut merci ca marche pour les classes.

    J'ai essyé de mettre en place ton systéme pour un truc un peut différent sachant que la quand j'appuie sur un lien on incrémente les ligne donc plus on clique plus y a de ligne, sauf que toute mes tentatives de mise ne place tombe a l'eau car deja l'increment marche pas du tous et en plus quand j'apuie sur le lien + il retourne toujours en haut de page c'est un peut embétant.
    Si tu pouvais juste m'éguiller.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
         <table>
           <tr>
             <td>
               <ul>
                  <li><input type="text" name="synthese_mission" id="synthese_mission" /></li><a href="#" onMouseUp="addColResum()" >+</a>
               </ul>
             </td>
           </tr>
         </table>
         <table id="resume_calend">
         </table>
    Merci a toi.

  3. #23
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    Pour le lien, essaie plutôt ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="javascript:addColResum()" >+</a>
    Pour l'incrément: en donnant -1 comme paramètre des méthodes insertRow et insertCell, elles vont ajouter la ligne ou la cellule après ce qui existe déjà, donc de ce côté, il n'y a pas de changement à apporter à la fonction.
    Il faut juste prévoir un champ caché pour passer le nombre de mois à la page d'action du formulaire si tu veux y reconstruire le tableau (encore qu'il soit possible de faire sans, mais c'est plus compliqué).
    Donc, dans ton formulaire, tu ajoutes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type=hidden name="mois">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function addColResum()
    {
      var tobj = document.getElementById("matable");
     
      var tr = tobj.insertRow(-1);  
      var td0 = tr.insertCell(-1);
      td0.innerHTML = "moi" + i;
      var td1 = tr.insertCell(-1);
      td1.innerHTML = "<textarea name='moi" + i + "' ></textarea>"; 
     
      document.forms[0].mois.value = tobj.rows.length;
     }
    Et ça devrait fonctionner...pour autant que le formualire soit le premier ou le seul de ta page.
    Un ascenseur est une machine qui passe quand même la moitié de son temps à descendre.

  4. #24
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Re!

    Haa, j'y suis allé trop vite. Il faut gérer le nombre de mois pour pouvoir donner un nom au textarea, donc:

    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
     
    function addColResum()
    {
      var tobj = document.getElementById("matable");
     
      i = tobj.rows.length + 1;
     
      var tr = tobj.insertRow(-1);  
      var td0 = tr.insertCell(-1);
      td0.innerHTML = "moi" + i;
      var td1 = tr.insertCell(-1);
      td1.innerHTML = "<textarea name='moi" + i + "' ></textarea>"; 
     
      document.forms[0].mois.value = i;
     }
    Un ascenseur est une machine qui passe quand même la moitié de son temps à descendre.

  5. #25
    Membre régulier Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    je dois me tromper quelque part car ca ne me marche pas.

    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
    <html>
    <head>
    <script type="text/javaScript">	  
      function addColResum()
      {
        var tobj = document.getElementById("resume_calend");
     
        i = tobj.rows.length + 1;
     
        var tr = tobj.insertRow(-1);  
        var td1 = tr.insertCell(-1);
        td1.innerHTML = "<ul><li><input type='text' name='synthese_mission'"+ i + "id='synthese_mission' /></li></ul>"; 
     
        document.forms[0].mois.value = i;
      } 
    }  
    </script>	
    </head>
    <body>
         <label for="resumer">R&eacute;sum&eacute; des missions (soyez pr&eacute;cis et concis, ces point seront repris pour &eacute;tablir le contrat et la convention)</label>
         <table>
           <tr>
             <td>
               <ul>
                  <li><input type="text" name="synthese_mission" id="synthese_mission"  /></li><a href="javascript:addColResum()">+</a>
               </ul>
             </td>
           </tr>
         </table>
         <table id="resume_calend">
         </table>
         <input type=hidden name="mois">  
    </body>
    </html>
    Merci a toi.

  6. #26
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    Il y avait en effet 2 choses qui clochaient:
    - un parenthèse de trop dans le Javascript
    - il n'y avait pas de balise FORM dans la page, donc la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      document.forms[0].mois.value = i;
    donnait une erreur.

    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
     
    <html>
    <head>
    <script type="text/javaScript">	  
      function addColResum()
      {
        var tobj = document.getElementById("resume_calend");
     
        i = tobj.rows.length + 1;
     
        var tr = tobj.insertRow(-1);  
        var td1 = tr.insertCell(-1);
        td1.innerHTML = "<ul><li><input type='text' name='synthese_mission'"+ i + "id='synthese_mission' /></li></ul>"; 
     
        document.forms[0].mois.value = i;
      } 
     
    </script>	
    </head>
    <body>
      <form>
         <label for="resumer">R&eacute;sum&eacute; des missions (soyez pr&eacute;cis et concis, ces point seront repris pour &eacute;tablir le contrat et la convention)</label>
         <table>
           <tr>
             <td>
               <ul>
                  <li><input type="text" name="synthese_mission" id="synthese_mission"  /></li><a href="javascript:addColResum()">+</a>
               </ul>
             </td>
           </tr>
         </table>
         <table id="resume_calend">
         </table>
         <input type=hidden name="mois">  
       </form>
    </body>
    </html>
    Un ascenseur est une machine qui passe quand même la moitié de son temps à descendre.

  7. #27
    Membre régulier Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    Ca marche nickel merci a toi.

    Aussi pour le champ caché qu'on a mis, pour lui spécifier le nombre de ligne créé on réucpére comment cette valeur ?

    Merci encore a toi.

  8. #28
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    Je présume que quand tu parles de récupérer la valeur du champ caché, c'est le récupérer dans la page d'action du formulaire, donc en PHP?

    Ce devrait être $_POST['mois']
    Un ascenseur est une machine qui passe quand même la moitié de son temps à descendre.

  9. #29
    Membre régulier Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    non, je voulais dire que pour un champ hidden on doit y insérer une value pour qu'il me retourne une valeur $_POST

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type=hidden name="mois" value="Comment_on_met_le_nbre_de_ligne_ici">
    merci

  10. #30
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    c'est la ligne suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.forms[0].mois.value = i;
    qui insère le nombre de ligne dans le champ hidden.
    Un ascenseur est une machine qui passe quand même la moitié de son temps à descendre.

  11. #31
    Membre régulier Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    Quand je fais ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
            echo $_POST['mois'];
    ?>
    Dans quand je valide mon formulaire, la variable $_POST est vide alors que dans l'url plein de chose s'affiche dont le nombre de champ mis.

    Donc ca serait plus une méthode get mais alors le champ hidden ne servirais a rien ?

  12. #32
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    Cela dépend de la methode utilisée pour envoyer le formulaire.
    Soit GET, et dans ce cas les données sont envoyées dans l'URL (après le ?) et sont accessible dans la collection $_GET (je présume car je ne pratique plus PHP depuis quleques années), soit POST, et dans ce cas, le données sont accessibles dans la collection $_POST.

    En résumé, la ligne qui définit ton formulaire dans la première page devrait ressembler à cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form action="ta_seconde_page.php" method=post>
    Un ascenseur est une machine qui passe quand même la moitié de son temps à descendre.

  13. #33
    Membre régulier Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    a ok je pensé pas qu'il prenait en compte la méthode utilisé par le form, il est fort ce javascript .


    Bon bas voila je pense que j'en es fini merci beaucoup pour ton aide, a une prochaine fois bye et merci.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Prix modulable avec boutons radio
    Par Zardhoz dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 24/07/2007, 09h06
  2. faire apparaître un DIV avec bouton radio
    Par laurent2 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/07/2007, 15h00
  3. Problème avec bouton radio sous IE.
    Par waldo2188 dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 21/06/2006, 12h11
  4. peut on rafraichir une page avec bouton radio?
    Par zorba49 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 06/06/2006, 12h33
  5. Réponses: 7
    Dernier message: 26/05/2006, 14h14

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