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 :

ajouter un élément dans une liste


Sujet :

JavaScript

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Points : 165
    Points
    165
    Par défaut ajouter un élément dans une liste
    Bonjour, je suis un vrai débutant en javascript, moi c'est plutot le php mon truc.
    Mon projet est de créer une page pour ajouter des livres dans une bibliothèque. J'ai une table avec les auteurs, et je voudrais pouvoir sélectionner dans une liste l'auteur du livre à ajouter s'il est déja dans la table, et le taper à la main s'il n'existe pas encore. La création de la liste à partir de la table ne pose pas de problème. Je voudrais au final obtenir une liste déroulante comme celles pour sélectionner la taille du texte dans word par exemple : on sélectionne dans la liste ou on tape soit meme la taille. Je ne sais pas si c'est possible, mais je pense que oui.

    Merci d'avance, si vous avez la solution, expliquez bien svp, parce que je suis vraiment nul en javascript
    Avec les ordinateurs, 99% des bugs proviennent de l'interface chaise-clavier...

    Comment ça 1Km n'est pas égal à 1024m ???

  2. #2
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    Merci de ne pas poster le même message dans plusieurs forums!!!

  3. #3
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 289
    Points
    3 289
    Par défaut
    Son nom est AJAX autocompletion PAS a PAS.

    Bonne lecture
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  4. #4
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 289
    Points
    3 289
    Par défaut
    Citation Envoyé par Eric Berger
    Merci de ne pas poster le même message dans plusieurs forums!!!
    Euh... Ca dépend, si il ne sait pas comment s'y prendre, il peut essayer de voir dans différents langages... Dans ce cas, il est excusé, non ?
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  5. #5
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    Citation Envoyé par FremyCompany
    Euh... Ca dépend, si il ne sait pas comment s'y prendre, il peut essayer de voir dans différents langages... Dans ce cas, il est excusé, non ?
    Citation Envoyé par Règlement du forum
    Postez dans le bon forum
    Lisez la liste de tous les forums pour bien choisir, postez votre message dans un seul forum (Le Multipost est interdit). Avant de poster, lisez la note en haut du forum expliquant les conditions d'utilisation du forum.
    Y'a pas mort d'homme, bien-sur

  6. #6
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Points : 165
    Points
    165
    Par défaut
    Heu, s'il vous plait, vous battez pas pour moi, je n'en vaut pas la peine

    Merci Fremy, ça doit pouvoir marcher avec AJAX, mais moi je voulais un truc simple à faire en une heure lol. Enfin si y'a pas autre chose, je ferais comme ça, mais, là, pffffff.

    Remarque, ça fait dejà un bout de temps que je me dis qu'il ya quelque chose à faire avec le httprequest, dommage que je n'ai pas vraiment le temps de m'y mettre.
    Avec les ordinateurs, 99% des bugs proviennent de l'interface chaise-clavier...

    Comment ça 1Km n'est pas égal à 1024m ???

  7. #7
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    Le plus simple c'est de le faire avec deux champs... c'est bien plus simple...

    PS:FremyCompany>>Je ne vois pas bien en quoi Ajax peut être utile ici?!?

  8. #8
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 289
    Points
    3 289
    Par défaut
    Citation Envoyé par Eric Berger
    Le plus simple c'est de le faire avec deux champs... c'est bien plus simple...

    PS:FremyCompany>>Je ne vois pas bien en quoi Ajax peut être utile ici?!?
    Lis le tuto alors
    Une petite recherche google avec son nom (que j'ai donné plus haut, et le tour est joué.

    Le code est déjà tout pret, il n'y a que le PHP à implementer.
    (+Attribuer les bon champs au JS)

    Utiliser Une liste et une textbox avec une checkbox pour determiner laquelle est utilisée, pourquoi pas, mais c'est pas très estétique, ni très pratique d'ailleurs...
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  9. #9
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    Citation Envoyé par FremyCompany
    Lis le tuto alors
    Mais c'est long! héhé...
    En fait je l'avais déjà parcouru... c'est vrai que visuellement c'est ce que souhaite notre ami Le Mérovingien.

    Par-contre, ajax n'est pas forcément nécessaire si la liste en question est courte, elle peut être chargée en une fois avec la page (avec ajax c'est aussi une bonne solution, mais plus complexe).

    Citation Envoyé par FremyCompany
    Utiliser Une liste et une textbox avec une checkbox pour determiner laquelle est utilisée, pourquoi pas, mais c'est pas très estétique, ni très pratique d'ailleurs...
    Je te l'accorde, c'est la plus simple et la moins élégante...

  10. #10
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 289
    Points
    3 289
    Par défaut
    Mdrr, tu as déjà vu une liste d'auteur qui était courte ?
    Lol, je te charrie un peu sur ce coup la.
    Que veux-tu c'est dans ma nature : toujours avoir le dernier mot (lol)
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  11. #11
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    Citation Envoyé par FremyCompany
    Mdrr, tu as déjà vu une liste d'auteur qui était courte ?
    Lol, je te charrie un peu sur ce coup la.
    Que veux-tu c'est dans ma nature : toujours avoir le dernier mot (lol)
    Le fait que j'aie le même trait de caractère que toi explique certainement la longueur de ce thread

  12. #12
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Points : 165
    Points
    165
    Par défaut
    Merci de vous passionner pour mon problème, juste comme ça, pourquoi le fait que la liste soit longue ou courte a t'il de l'importance ? Moi c'est un script pour ma bibliothèque, qui tourne uniquement en local, donc si c'est un problème de temps d'execution, alors allez y bourin !
    Avec les ordinateurs, 99% des bugs proviennent de l'interface chaise-clavier...

    Comment ça 1Km n'est pas égal à 1024m ???

  13. #13
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    Citation Envoyé par Le Mérovingien
    Merci de vous passionner pour mon problème, juste comme ça, pourquoi le fait que la liste soit longue ou courte a t'il de l'importance ? Moi c'est un script pour ma bibliothèque, qui tourne uniquement en local, donc si c'est un problème de temps d'execution, alors allez y bourin !
    Ajax permet de ne charger que les éléments qui correspondent au texte que tu as déjà tappé. Si ta liste contient des milliers d'éléments, avec ajax, tu chargera au moment où le texte est saisi, uniquement les éléments correspondants, mettons une dizaine par exemple...

  14. #14
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Points : 165
    Points
    165
    Par défaut
    Oui, je viens de comprendre ça avec l'exemple de google, mais ce n'est pas ça que je recherche, moi je voulais une liste avec tous les auteurs chargée au départ, et une possibilité pour en ajouter un s'il n'existe pas encore, je l'insererais alors dans la table des auteurs pour la fois suivante. Je me contenterais d'un bouton "nouveau" par exemple qui remplace le <select> par un <input text> au meme endroit. (c'est un projet perso, pas besoin que ça soit beau, et la liste n'est pas enorme)
    Par contre, ajax est un truc super et je pense me pencher dessus dès que je serai en vacances (encore une semaine, gnnnnééééé !)
    Avec les ordinateurs, 99% des bugs proviennent de l'interface chaise-clavier...

    Comment ça 1Km n'est pas égal à 1024m ???

  15. #15
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    dans ce cas un bouton ou un lien qui affiche l'un ou l'autre des champs (en changeant l'attribut de style display des éléments) devrait faire l'affaire. Tu vois comment ou tu as besoin d'un exemple?

  16. #16
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Points : 165
    Points
    165
    Par défaut
    J'ai besoin d'un exemple !!! Je suis vraiment nul en js, dsl

    Pour l'instant mon code donne un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <form action="insert_livre.php?action=add" method="POST">
    <table width="90%" align="center" border="2">
       <tr><td><b>Titre :</b></td><td width="100"><input type="text" name="titre" size="100" maxlength="100"></td></tr>
       <tr><td><b>Auteur : </b></td><td width="100"><input type="text" name="auteur" size="100" maxlength="60"></td></tr>
       <tr><td><b>Collection :</b></td><td width="100"><input type="text" name="collec" size="100" maxlength="60"></td></tr>
    </table>
    <br />
    <center><input type="submit" value="ajouter le livre"></center>
    </form>
    Normalement c'est des select a la place des input pour auteur et collection, et je voudrai remettre les input s'il n'y a pa l'auteur ou la collection désiré en cliquant sur un bouton ou un lien.

    Merci d'avance.
    Avec les ordinateurs, 99% des bugs proviennent de l'interface chaise-clavier...

    Comment ça 1Km n'est pas égal à 1024m ???

  17. #17
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <form action="insert_livre.php?action=add" method="POST">
    <table width="90%" align="center" border="2">
       <tr><td><b>Titre :</b></td><td width="100"><input type="text" name="titre" size="100" maxlength="100"></td></tr>
       <tr><td><b>Auteur : </b></td><td width="100"><input type="text" name="auteur" id="auteur" size="100" maxlength="60" style="display:none"><select name="sAuteur" id="sAuteur" style="display:bloc"><option value="1">auteur 1</option><option value="2">etc...</option></td></tr>
       <tr><td><b>Collection :</b></td><td width="100"><input type="text" name="collec" size="100" maxlength="60"></td></tr>
    </table>
    <br />
    <center><input type="submit" value="ajouter le livre"></center>
    </form>
    Et ton bouton déclanche cette fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function switchAuteur(){
      champTexte = document.getElementById("auteur");
      champSelect = document.getElementById("sAuteur");
     
      if(champTexte.style.display == "none"){
        champTexte.style.display = "bloc";
        champSelect.style.display = "none";
      }
      else{
        champTexte.style.display = "none";
        champSelect.style.display = "bloc";
      }
    }
    J'ai pas testé, j'éspère que ça fonctionne

  18. #18
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 289
    Points
    3 289
    Par défaut
    Moi, ca me semble bon ton code
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  19. #19
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    Il manque encore une info, potentiellement, on peut selectionner dans la liste, puis switcher et saisir du texte... quand on poste, on ne sait pas quelle est la bonne info.

    Pour résoudre ça, lorsqu'on switch, il faut mettre à jour un champ caché du genre ajoutAuteur avec une valeur 0 ou 1 selon si le select est actif ou le texte.
    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 switchAuteur(){
      champTexte = document.getElementById("auteur");
      champSelect = document.getElementById("sAuteur");
      champEtat = document.getElementById("eAuteur"); 
      if(champTexte.style.display == "none"){
        champTexte.style.display = "bloc";
        champSelect.style.display = "none";
        champEtat.value = "1";
      }
      else{
        champTexte.style.display = "none";
        champSelect.style.display = "bloc";
        champEtat.value = "0";
      }
    }

  20. #20
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Points : 165
    Points
    165
    Par défaut
    merci beaucoup, je n'ai pas le temps de tester, j'espere pouvoir le faire ce soir, je ne serai pas là cette semaine donc au pire je vous tiens au courant la semaine prochaine.

    @++
    Avec les ordinateurs, 99% des bugs proviennent de l'interface chaise-clavier...

    Comment ça 1Km n'est pas égal à 1024m ???

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 8
    Dernier message: 01/03/2008, 13h33
  2. Réponses: 3
    Dernier message: 19/11/2007, 13h11
  3. Réponses: 8
    Dernier message: 27/04/2007, 14h07
  4. Réponses: 12
    Dernier message: 12/03/2007, 16h58
  5. Correction pour ajouté un élément dans une liste
    Par Rifton007 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/01/2007, 11h09

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