Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1118 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  double incrémentation dans une fonction JavaScript

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

double incrémentation dans une fonction JavaScript

n°2132293
reuillois3​6
Posté le 20-03-2012 à 19:49:17  profilanswer
 

Bonsoir,
Je me trouve devant un problème.
J'ai un formulaire qui me permet d'ajouter des auteurs grâce à un lien. Lorsque je clique sur ce lien ("Ajouter un auteur" ), 3 champs s'ouvrent : Nom de l'auteur, Prénom de l'auteur, et Laboratoire.
Le problème étant qu'un auteur peut faire parti de plusieurs laboratoires. Il faut donc que pour le laboratoire j'ai là aussi un lien ("Ajouter un labo" ). Si je me fais mal comprendre je vais faire rapidement un schéma pour illustrer mon explication :
Auteur n°1 : Nom1 Prénom1 Labo1
Labo2
Auteur n°2 : Nom2 Prénom2 Labo1
Auteur n°3 : Nom1 Prénom1 Labo1
Labo2
Labo3

De plus, je devrais stocker ces valeurs dans ma base de données.
Voici mon code pour le moment, qui ne fait pas ce qu'il faut bien sur, surtout au niveau de l'incrémentation (il ne fait pas la différence entre le numéro de l'auteur et le numéro du labo) :
 
Code : PHP
 
<div id="auteur">
        <label for="auteur_1">Auteur principal</label>
        <input name="nom_auteur_1" value="<?php echo $_SESSION['nom_auteur']; ?>"><input name="prenom_auteur_1" value="<?php echo $_SESSION['prenom_auteur']; ?>"><input name="nom_labo_1" type="text" placeholder="Nom du laboratoire"><span id="add_labo"><a href="javascript:addLabo(2)">+labo</a></span><br/>
    </div>
    <span id="add_auteur"><a href="javascript:addAuteur(2);">Ajouter un auteur</a></span><br/><br/>
 
 
Code : JavaScript
 
<script>
function addAuteur(a) {
        if (a<=10) {   //le nombre d'auteur supplémentaire est bridé à 10
            document.getElementById('add_auteur').innerHTML = '<a href="javascript:addAuteur('+(a+1)+');">Ajouter un auteur</a>';
            var label = document.createElement("label" );
            label.setAttribute("for", "auteur" );
            label.innerHTML = "Auteur n&deg;"+a;
 
            var input = document.createElement("input" );
            input.setAttribute("name", "nom_auteur_"+a);
            input.setAttribute("type", "text" );
            input.setAttribute("placeholder", "Nom de l'auteur" );
            document.getElementById('auteur').appendChild(label);
            document.getElementById('auteur').appendChild(input);
 
            var input = document.createElement("input" );
            input.setAttribute("name", "prenom_auteur_"+a);
            input.setAttribute("type", "text" );
            input.setAttribute("placeholder", "Prénom de l'auteur" );
            document.getElementById('auteur').appendChild(label);
            document.getElementById('auteur').appendChild(input);
 
            document.getElementById('add_labo').innerHTML = '<a href="javascript:addLabo('+(a+1)+');">+labo</a>';
            var input = document.createElement("input" );
            input.setAttribute("name", "nom_labo_"+a);
            input.setAttribute("type", "text" );
            input.setAttribute("placeholder", "Nom du laboratoire" );
            document.getElementById('auteur').appendChild(label);
            document.getElementById('auteur').appendChild(input);
 
            document.getElementById('auteur').appendChild(document.createElement("br" ));
        }
    }
</script>
 
<script>
function addLabo(l) {
        if (l<=10) {   //le nombre de laboratoire supplémentaire est bridé à 10
            document.getElementById('add_labo').innerHTML = '<a href="javascript:addLabo('+(l+1)+');">+labo</a>';
            var label = document.createElement("label" );
            label.setAttribute("for", "auteur" );
            label.innerHTML = "Laboratoire n&deg;"+l;
            var input = document.createElement("input" );
            input.setAttribute("name", "nom_labo_"+l);
            input.setAttribute("type", "text" );
            input.setAttribute("placeholder", "Nom du laboratoire" );
            document.getElementById('auteur').appendChild(label);
            document.getElementById('auteur').appendChild(input);
            document.getElementById('auteur').appendChild(document.createElement("br" ));
        }
    }
</script>

mood
Publicité
Posté le 20-03-2012 à 19:49:17  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  double incrémentation dans une fonction JavaScript

 

Sujets relatifs
[résolu]perte de mon css en passant dans une fonction javascriptjavascript HELP !!!!!!!!!
Fonction qui retourne un tableau dynamiqueaccès aux répertoires, fichiers en fonction du statut de l'utilisateur
php fonction ftp_getRemplissage d'un tableau JavaScript
Programme pour ouvrir une fenêtre miniature en fonction de la T°CFonction tskill
Plus de sujets relatifs à : double incrémentation dans une fonction JavaScript


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR