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 :

reset d'une partie de formulaire


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de spilliaert
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 268
    Points : 307
    Points
    307
    Par défaut reset d'une partie de formulaire
    Bonjour,

    Je cale pour une fonction et je me permet de vous demander de l'aide...

    Voici à quoi ressemble mon html:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <div id='2' style='display:none'>
          <br>
          <div class='quest'>
            Je pose une question...?
          </div><input type='radio' name='Q2[]' value='1' onclick=
          "affCache('3',1);"> un choix<br>
          <input type='radio' name='Q2[]' value='2' onclick=
          "affCache('3',0);">un choix<br>
          <input type='radio' name='Q2[]' value='4' onclick=
          "affCache('3',1);">un choix<br>
        </div>
    et la fonction "affCache('3')" :
    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 affCache (idDiv,Cond)
    {
    	var div = document.getElementById(idDiv);
     
    	if (div.style.display == "none") {
    		div.style.display = "";
    		scrollBy(0,900);
    	}else{if(Cond){
    //code que je ne trouve pas :( 
     
    }
    }
     
    }
    Voilà mon problème:
    en fait, j'aimerais que si l'élément "div" est visible et que Cond vaut true,
    faire un reset() du reste du formulaire...

    donc: pour mon exemple html n°1; un clic sur le premier ou sur le troisième choix annule tout le reste du formulaire...

    Pourriez-vous m'aider ?

    merci d'avance.

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    salut,
    la t as pas trop le choix, tu doit parcourir tes elements de fomulaires pour mettre leur value a "" ou recocher le bon truc ....

    Il y a une methode reset dans un form mais ça s'applique a tout le formulaire.

    Donc soit tu les récupères un par un, soit tu parcours la collection elements de ton formulaire.
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  3. #3
    Membre averti Avatar de spilliaert
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 268
    Points : 307
    Points
    307
    Par défaut
    merci de ta réponse...
    Pourrais-tu me donner un petit exemple de code? parce que je suis pas sûr de tout comprendre...

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    elems = document.getElementById('idform').elements;
    for(var i=0;i<elems.length;i++){
       //la tu teste si tu veux le remettre a zéro :
       if(elems[i].name == "machin" || elems[i].name == "truc")
              elems[i].value="";
       // .......
    }
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  5. #5
    Membre averti Avatar de spilliaert
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 268
    Points : 307
    Points
    307
    Par défaut
    Merci, siddh, votre code m'a été très utile (je ne pensais pas du tout de ctte manière-là le problème...)

    Encore un dernier détail: il faut que tous le eléments qui sont après l'ensemble d'input en cours soit remis à zéros, parce que, actuellement, tout est remis à zéro...Dois-je ajouter un paramètre à ma fonction peut-être ?

  6. #6
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    euh ben peut etre l'id de celui a partir duquel tu veux effacer ?

    avec un flag booleen mis a true une fois qu'il est passé dans la boucle pour savoir si on est avant ou apres.
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  7. #7
    Membre averti Avatar de spilliaert
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 268
    Points : 307
    Points
    307
    Par défaut
    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
    function affCache (idDiv,idActu)
    {
    	var div = document.getElementById(idDiv);
     
    	if (div.style.display == \"none\") {
    		div.style.display = \"\";
    		scrollBy(0,900);
    	}else{
     
    	elems = document.forms[0].elements;
     
    for(var i=0;i<elems.length;i++){
            var parentinput=elems[i].parentElement;
            var id=parentinput.getAttribute(\"id\");
            if(id>idActu)
              elems[i].value=\"\";}
     
              }
     
     
    }
    voilà à quoi j'arrive ... ça marche pô !

  8. #8
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    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
    var after=false;
     
    function affCache (idDiv,idActu)
    {
       var div = document.getElementById(idDiv);
     
       if (div.style.display == \"none\") {
          div.style.display = \"\";
          scrollBy(0,900);
       }else{
     
       elems = document.forms[0].elements;
     
    for(var i=0;i<elems.length;i++){
            var parentinput=elems[i].parentElement;
            var id=parentinput.getAttribute(\"id\");
            if(id == idActu)
                 after = true;
     
            if(after)
              elems[i].value=\"\";
     
    }
    after = false;
    }
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  9. #9
    Membre averti Avatar de spilliaert
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 268
    Points : 307
    Points
    307
    Par défaut
    merci bq bq, ça marche (sous ie) !!
    mais...dans ma console firefox, on me dit "parentinput has np properties"...
    voyez-vous pourquoi??

  10. #10
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    faut remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var parentinput=elems[i].parentElement;
    var id=parentinput.getAttribute(\"id\");
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var id = elems[i].parentNode.id;
    ?
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  11. #11
    Membre averti Avatar de spilliaert
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 268
    Points : 307
    Points
    307
    Par défaut
    ça marche, merci beaucoup pour votre aide !(sans elle, je n'y serais jamais arrivé )

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

Discussions similaires

  1. changer une partie du formulaire de la page
    Par amine003 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/10/2008, 16h14
  2. [JQuery] Cacher une partie du formulaire
    Par swissmade dans le forum jQuery
    Réponses: 9
    Dernier message: 11/07/2008, 10h41
  3. Réponses: 3
    Dernier message: 05/06/2007, 23h44
  4. Réponses: 3
    Dernier message: 05/02/2007, 10h08
  5. Masquer une partie du formulaire
    Par Neuromancien2 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/01/2005, 14h23

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