[JS] Ajouter du HTML à chaque clic, 5 MAX.

Résolu
Kdopj Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
Kdopj Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je veux faire une multi upload et je veux ajouter un input file à chaque clique sur un lien.

Le code à ajouté est : <p><input style="font-size : 18px;" type="file" name="fichier" size="25" /></p>

A chaque fois que l'on clique je veux que ça ajoute ce code, avec une limitation de 5 max.

Merci
A voir également:

2 réponses

maka54 Messages postés 698 Date d'inscription   Statut Membre Dernière intervention   80
 
<form action="" method="post" id="upload">
<input type="file" name="fichier_1">
</form>
<a href="javascript:void(0);" onclick="ajout();">Ajouter un fichier</a>

<script type="text/javascript">
var num = 1;
function ajout(){
num++;
if(num <= 5){
var form = document.getElementById('upload');
var champ = document.createElement('input');
champ.setAttribute('type','file');
champ.setAttribute('name','fichier_'+num);
form.appendChild(champ);
}else{
alert('limite de fichiers atteinte');
}

}
</script>
3
Kdopj Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
Merci, ceci ajoute seulement <input type="file" name="fichier_num"> a chaque fois, mais pas les <p> et le style="font-size : 18px;" comment les ajouté ? C'est possible aussi d'ajouter Fichier 1, 2, 3... devant ? Et puis pour le name="" juste mette fichier[] par 1, 2 ,3 ....

Merci
0
Kdopj Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
Personne ?
0
Camuke Messages postés 224 Date d'inscription   Statut Membre Dernière intervention   88
 
Salut,

Voila un petit bout de code qui devrai répondre a ta question:

<html>
	<head>
		<script type="text/javascript">
		    var numFormulaire = 1;
		    function NewForm() {
		        if (numFormulaire < 5) {
		            code = '<p><input style="font-size : 18px;" type="file" name="fichier" size="25" /></p>';
		            document.getElementById("zone").innerHTML += code;
		            numFormulaire++;
		        }
            }
        </script>
	</head>
	<body>
        <a href="javascript:NewForm();">Mon lien</a>
        <form name="monForm" action="" method="post">
           <div id="zone">
              <p><input style="font-size : 18px;" type="file" name="fichier" size="25" /></p>
           </div>
        </form>
	</body>
</html>


Bon courage
-1
maka54 Messages postés 698 Date d'inscription   Statut Membre Dernière intervention   80
 
salut

ton code n'est pas bon pour plusieurs raison,
- les 5 champs file auront le même nom
- le fait de faire un innerHTML réinitialise les autres champs
0
Camuke Messages postés 224 Date d'inscription   Statut Membre Dernière intervention   88
 
Je savais bien que il y aurai de problème.
Le but n'étant pas forcement de lui donné une solution toute finit mais de lui apporté un élément de réponse.
0