Afficher un bloc plusieurs fois selon un nombre choisi

Fermé
uno_orami Messages postés 49 Date d'inscription lundi 24 juin 2013 Statut Membre Dernière intervention 19 août 2014 - 10 juil. 2014 à 16:12
zermat Messages postés 160 Date d'inscription jeudi 19 juin 2014 Statut Membre Dernière intervention 3 juin 2016 - 7 août 2014 à 18:27
Salut

qui peux m'aider svp je veux afficher un bloc plusieur foix selon le nembre choisie dans une

select comment le faire ?

j'explique dans mon formulaire le client va saisir ces collaborateur : fonction ,nom prenom ..

il a la possibilitè de saisir maximum 5 collabborateur alors selon le nombre de collaborateur

choisie par la <select> le formulaire va affiche n foix le meme formulaire sur la mème page

le bloc qui va se reppéter cè le bloc <div id="teamclinique" >


voila mon code

<div id="detail_equipe" >

<div id="teamclinique" >

<label for="Coordinatefonction">Fonction du collaborateur :</label><input name="fonction" type="text" id="fonction" />

<label for="Coordinateadr">Nom :</label><input name="adr" maxlength="255" type="text" id="adr"/>

<label for="Coordinateville">Prenom :</label><input name="ville" maxlength="255" type="text" id="City" />

<label for="Coordinatephoto">Photo :</label><input name="photo_collaborateur" maxlength="255" type="file" />

</div>


<br> Ajouter : <select name="nb_coll" id="nb_coll" style="width:40px;"/> <option>1</option><option>2</option><option>3</option> <option>4</option><option>5</option></select> collaborateur(s)</div> </br>

</div>
</div>

3 réponses

zermat Messages postés 160 Date d'inscription jeudi 19 juin 2014 Statut Membre Dernière intervention 3 juin 2016 16
11 juil. 2014 à 00:09
tu peux faire ça en javascript :

<script>
function ajouter(sel)
{
var nbre = parseInt(sel.value);
var monDiv = '';
for(var i=1;i<=nbre;i++)
{
monDiv += '<div id="detail_equipe'+i+'" >'

+ '<div id="teamclinique'+i+'" >' 

+ '<label for="Coordinatefonction">Fonction du collaborateur :</label><input name="fonction'+i+'" type="text" id="fonction'+i+'" />' 

+ '<label for="Coordinateadr">Nom :</label><input name="adr'+i+'" maxlength="255" type="text" id="adr'+i+'"/>' 

+ '<label for="Coordinateville">Prenom :</label><input name="ville'+i+'" maxlength="255" type="text" id="City'+i+'" />' 

+ '<label for="Coordinatephoto">Photo :</label><input name="photo_collaborateur'+i+'" maxlength="255" type="file" />' 

+ '</div>'; 
}
document.getElementById("ajout").innerHTML = monDiv;
}
</script>

<div id="detail_equipe" > 

<div id="teamclinique" > 

<label for="Coordinatefonction">Fonction du collaborateur :</label><input name="fonction" type="text" id="fonction" /> 

<label for="Coordinateadr">Nom :</label><input name="adr" maxlength="255" type="text" id="adr"/> 

<label for="Coordinateville">Prenom :</label><input name="ville" maxlength="255" type="text" id="City" /> 

<label for="Coordinatephoto">Photo :</label><input name="photo_collaborateur" maxlength="255" type="file" /> 

</div> 


<br> Ajouter : <select name="nb_coll" id="nb_coll" style="width:40px;" onChange="ajouter(this)"> <option value="0">0</option><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> collaborateur(s)</div> </br> 
<div id="ajout"></div>
</div> 
</div>
1
uno_orami Messages postés 49 Date d'inscription lundi 24 juin 2013 Statut Membre Dernière intervention 19 août 2014
11 juil. 2014 à 01:22
mer6 bcp pour t'as réponse mais ça marche pas :/
0
uno_orami Messages postés 49 Date d'inscription lundi 24 juin 2013 Statut Membre Dernière intervention 19 août 2014
11 juil. 2014 à 01:27
j'ai une proposition mais je sais pas si ca marche ou pas !!
est que je peux faire 5 bloc par defaux de type display=none et quand on selecte le nombre des collaborateurs qu'on veut saisir
par exemple quand il choisie 3 => 3 bloc se transforme on display=block
0
Utilisateur anonyme
11 juil. 2014 à 01:48
J'ai testé son code et il fonctionne, faut voir pourquoi il ne fonctionne pas de ton côté.
http://dev.framecodes.com/shares/eaHyXP/
0
uno_orami Messages postés 49 Date d'inscription lundi 24 juin 2013 Statut Membre Dernière intervention 19 août 2014
11 juil. 2014 à 02:35
ahh oui t'as raison j'ai une div non fermer :) mer6 bcp ca marchè marfaitement :)
0
uno_orami Messages postés 49 Date d'inscription lundi 24 juin 2013 Statut Membre Dernière intervention 19 août 2014
11 juil. 2014 à 13:09
une autre chose stp je trouve un probléme avec ce bloc qui ce repète plusieur foix comment faire pour récupérer ces valeur
0
zermat Messages postés 160 Date d'inscription jeudi 19 juin 2014 Statut Membre Dernière intervention 3 juin 2016 16
11 juil. 2014 à 15:08
Pour récupérer les fonctions des collaborateurs tu peux faire:

<?php
$fonctions = array(); // tableau contenant tout les fonctions
if(isset($_POST['fonction']))
$fonctions[0] = $_POST['fonction'];
for($i=1;$i<=5;$i++)
{
if(isset($_POST['fonction'.$i]))
$fonctions[$i] = $_POST['fonction'.$i];
}
?>
0
uno_orami Messages postés 49 Date d'inscription lundi 24 juin 2013 Statut Membre Dernière intervention 19 août 2014
14 juil. 2014 à 12:00
ca pas marchè :/
0
uno_orami Messages postés 49 Date d'inscription lundi 24 juin 2013 Statut Membre Dernière intervention 19 août 2014
Modifié par uno_orami le 6/08/2014 à 13:36
derniere chose stp j'ai ajouter un script jquery pour linput type file pour modifier le style de bouton browser c a dire


au lieu de

<label for="Coordinatephoto">Photo :</label><input name="photo_collaborateur" maxlength="255" type="file" />

j'ai mis ca

<div class="cooinput"><label for="CoordinateEmail">Photo :</label><div id="posfile" style="width: 555px;margin-left: 268px;"><input type="file" class="jfilestyle" data-buttonText="Télécharger" data-theme="orange" data-size="250px" data-input="true" data-icon= "true" data-iconName=" icon-arrow-down" name="photo_collaborateur0" id="photo_collaborateur"/>
<script src="jquery-filestyle/js/jquery-filestyle.min.js"></script></div>
</div>

jusqu'a maintenant tous va bien mais pour le bloc qui serepete ca marche pas j'ai essai de modifier ca

+ '<div class="cooinput"><label for="CoordinateEmail">Photo :</label><div id="posfile" style="width: 555px;margin-left: 268px;"><input type="file" class="jfilestyle" data-buttonText="Télécharger" data-theme="orange" data-size="250px" data-input="true" data-icon= "true" data-iconName=" icon-arrow-down" name="photo_collaborateur0" id="photo_collaborateur"/>
<script src="jquery-filestyle/js/jquery-filestyle.min.js"></script></div>
</div>'+
mais ca marche pas :/
0
zermat Messages postés 160 Date d'inscription jeudi 19 juin 2014 Statut Membre Dernière intervention 3 juin 2016 16
7 août 2014 à 18:27
Il ne faut pas mettre <script src="jquery-filestyle/js/jquery-filestyle.min.js"></script> à l'interieur du div qui se repete mettez le plutôt avant la fermeture de la balise </head>
Aussi il ne faut pas que le id photo_collaborateur se répète plusieurs fois si vous avez plusieurs input avec le même id mettez :
+ '<div class="cooinput"><label for="CoordinateEmail">Photo :</label><div id="posfile" style="width: 555px;margin-left: 268px;"><input type="file" class="jfilestyle" data-buttonText="Télécharger" data-theme="orange" data-size="250px" data-input="true" data-icon= "true" data-iconName=" icon-arrow-down" name="photo_collaborateur0" id="photo_collaborateur'+i+'"/></div></div>'
0