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 :

menu déroulant qui multiplie champs input


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 102
    Points : 65
    Points
    65
    Par défaut menu déroulant qui multiplie champs input
    Bonjour je suis vraiment un novice en javascript et J'aimerai faire un truc simple mais je n'y arrive pas . Bon j'explique

    j'aimerai avoir un menu déroulant comprenant des nombres de 1 à 10
    qui me permettrait dès qu'il y aurait un changement de multiplier
    un champ de type fichier.

    On sait le faire en php mais faut rafraichir la page et aussi j'ai trouvé ça mais ça raffraichit la page aussi.

    pourriez vous m'aider ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onChange = \"window.open(this.options[this.selectedIndex].value,'_self')\

  2. #2
    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,
    ton problème est donc celui du clonage de node (ici des input file), non ?

    Tu peux peut-être t'inspirer de cette (longue ) discussion

    A+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 102
    Points : 65
    Points
    65
    Par défaut
    merci j'ai essayé ça et ça marche sur google chrome mais pas sur le reste :s

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <script type="text/javascript">

    function add_soc(oSelect)
    {
    lesfichiers.innerHTML='';
    var value = oSelect.options[oSelect.selectedIndex].value;
    var leFichierACopier = document.getElementById("fichier[]");
    var laDivOuAjouterLaListe = document.getElementById("lesfichiers");
    laDivOuAjouterLaListe.innerHTML='';
    for(i=0;i<value;i++)
    {
    laDivOuAjouterLaListe.appendChild(leFichierACopier.cloneNode(true));

    }
    }
    </script>
    <title></title>
    </head>
    <body bgcolor="#7F7FB1" >
    <select name="yo" onchange="add_soc(this);"/ >
    <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>
    </select><br />


    <input type="file" name="fichier[]" id="fichier[]" /><br />

    <div id="lesfichiers" ></div>





    </body>
    </html>
    Pourriez vous m'aider ?? et aussi comment fait on pour passer à la ligne
    après chaque file ajouté j'ai essayé innerHTML='<br />' mais ça ne marche pas :s

  4. #4
    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
    Tu as dû oublier de lire le passage qui indique qu'il faut modifier l'id pour pas qu'il ne soit dupliquer

    A+

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 102
    Points : 65
    Points
    65
    Par défaut
    ben en fait le problème là c'est que ça marche que sur google chrome ,

    et j'ai mis innerHTML=""; pour pas que ça double

  6. #6
    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
    Citation Envoyé par lassoya Voir le message
    ben en fait le problème là c'est que ça marche que sur google chrome ,

    et j'ai mis innerHTML=""; pour pas que ça double


    Je vois pas bien le rapport avec les id dupliqués ....

    A+

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 102
    Points : 65
    Points
    65
    Par défaut
    en fait par rapport à l'exemple précédent si tu cliquais sur le bouton + sans mettre l'id il doublait à chaque fois ?? 2,4,8,16 etc... no ??

    moi ce que j'ai c'est que je prends le resultat du select, je vide le div
    et je boucle .. enfin à ce que j'ai compris :p

  8. #8
    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
    Heu ... pas tout compris non plus, là
    (je ne peux pas tester ton code, moi)

    Sinon : ça il ne faut pas le faire (uniquement valable pour les versions préhistoriques d'IE)
    EDIT : il faut utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("lesfichiers").innerHTML
    Ta variable "value", il faut l'appeler autrement : c'est un mot réservé du langage et ça risque de poser problème au nav ...

    Et, non tu n'as pas gérer correctement les id (ton id="fichier[]" est dupliqué) ...

    A+

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 102
    Points : 65
    Points
    65
    Par défaut
    merci ^^ pour ces conseils ,

    mais bon dans ce que je veux faire, je ne vois pas l'utilité de ne pas dupliquer l"id
    :s, j'ai changé le value ^^ mais pour vider un <div> comment fait on si on ne peut utiliser innerHTML ?

    lesfichiers.innerHTML c'est pas bon mais laDivOuAjouterLaListe.innerHTML=''; est correct ?

    voilà ce que ça donne , bizarre mais c'est plus où moins
    ce que je veux faire:

    http://landssy.com/uploads/test.php

  10. #10
    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
    Citation Envoyé par lassoya Voir le message
    mais bon dans ce que je veux faire, je ne vois pas l'utilité de ne pas dupliquer l"id
    C'est juste interdit, mais tu fais comme tu veux hein ...
    Citation Envoyé par lassoya Voir le message
    mais pour vider un <div> comment fait on si on ne peut utiliser innerHTML ?
    Cf. mon EDIT ci-dessus ...

    A+

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 102
    Points : 65
    Points
    65
    Par défaut
    Merci pour ton aide ^^ c'est nickel :

    http://landssy.com/uploads/test.php

    A part les ID , mais je vais voir ça apres ^^ merci

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

Discussions similaires

  1. menu javascript qui chevauche des inputs et listes
    Par jiojioforever dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 09/11/2006, 10h09
  2. Menu déroulant qui se déroule sur IE mais pas FF
    Par Webfab dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 10/10/2006, 14h37
  3. Menu déroulant qui ne s'enroule plus
    Par lid dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/08/2006, 01h07
  4. [Mail] menu déroulant qui ne se dérouleplus...
    Par sam01 dans le forum Langage
    Réponses: 7
    Dernier message: 28/02/2006, 09h40
  5. Menu déroulant qui modifie du texte
    Par oxa dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/11/2005, 09h20

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