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 :

Création de div à la volée


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 75
    Par défaut Création de div à la volée
    Bonjour à tous et à toutes,

    Je vous expose mon problème. Je développe un site pour gérer une bibliothèque (projet dans le cadre de mes études en licence informatique).
    J'ai donc naturellement une page qui permet aux bibliothécaires d'ajouter un livre. On retrouve dans cette page des informations banales : titre, auteur, année d'édition, etc...

    Mais il y a un champ nommé "Site" permettant de savoir sur quels sites se trouvent le livre. Par exemple : B.U Besancon, B.U Vesoul, etc... (Oui, oui je viens de Franche Comte, mais passons... )
    Un livre se trouve sur un nombre indéterminé de bibliothèque.

    J'ai donc créé un input text :

    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
     
    <td>
    	<div> 
    		<input type  = 'text'
    		   name  = 'site'
    		   id    = 'site'
    		   value = '$site'
    		   title = 'Site o&ugrave; se trouve le livre.'
    	</div>
    	<div>
    		<input type='hidden'
    			   name  = 'id_site'
    			   id    = 'id_site'
    			   value = '$id_site'/>
    	</div>
    ...
    J'ai fais une autocompletion en AJAX, et le champ hidden me permet de récupérer l'id du site correspondant dans la base de données.
    Le problème est le suivant :

    Un bibliothécaire pourra insérer un site, mais comment lui permettre d'en ajouter d'autre ?
    J'ai pensé à ajouter un bouton "+" qui permettrait d'ouvrir un autre input text et lui permettre d'ajouter un autre site, et ceci indéfiniment.

    Mais voilà, quelques problèmes techniques persistent :

    - comment créer des divs à la volée en javascript ?
    J'ai essayé de trouver sur google mais rien de concluant. La fonction clone() de JQuery n'a pas l'air vraiment adapté.

    - Je pensais mettre les id des sites correspondant dans mon champ "hidden" à la suite, et séparé par une virgule. On aura donc par exemple dans le champ caché :
    value = "1;3;24;254".
    Cependant, le bibliothécaire peut insérer des sites qui ne sont pas connu dans la base de données.
    Donc concrètement : Comment savoir le nombre de div créé par l'utilisateur à la volée et comment récupérer les valeurs (on ne peut pas mettre le même id pour chaque input).

    J'espère avoir été assez clair, et que quelqu'un pourra m'éclairer.

    Cordialement,
    shepounet

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    - comment créer des divs à la volée en javascript ?
    via les méthodes createElement et appendChild
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // creation nouvel element
    var oInput = document.createElement('INPUT');
    // type text pour saisie
    oInput.setAttribute( 'type', 'text');
    // ajout element a la FORM
    oForm.appendChild( oInput);
    Comment savoir le nombre de div créé par l'utilisateur à la volée et comment récupérer les valeurs (on ne peut pas mettre le même id pour chaque input).
    je pense qu'en mettant un NAME sous forme de tableau il sera plus facile de récupérer les infos coté serveur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // creation nouvel element
    var oInput = document.createElement('INPUT');
    // type text pour saisie
    oInput.setAttribute( 'type', 'text');
    // name sous forme array
    oInput.setAttribute( 'name', 'biblio[]')
    // ajout element a la FORM
    oForm.appendChild( oInput);

Discussions similaires

  1. création de page à la volée
    Par lieto dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 28/06/2006, 14h53
  2. Création de classes à la volée...
    Par ouiffi dans le forum Langage
    Réponses: 8
    Dernier message: 16/12/2005, 18h01
  3. [ImageMagick] Création d'image à la volée
    Par gdawirs dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 21/11/2005, 15h53
  4. [JMenuBar] Création d'objets à la volée
    Par Rampa dans le forum Composants
    Réponses: 5
    Dernier message: 29/06/2005, 13h56
  5. [IB][IBQUERY][D7 pro] Création de Triggers à la volée.
    Par N1bus dans le forum Bases de données
    Réponses: 6
    Dernier message: 13/10/2004, 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