par
Blowingfish » 07 févr. 2012, 01:25
Ce n'est pas du PHP qu'il te faut ici, c'est du JavaScript(Je ne pense pas que PHP est capable de faire ça) :
Code : Tout sélectionner
<form>
<input type="text"/><br/>
<span id="cible"></span>
<br/>
<input type="button" value="add" onclick="add_input();"/>
</form>
Désolé, j'ai fait une erreur dans le forumulaire, le id "cible" est en réalité "target". De plus, tu peux peut-être changer le span pour un div pour créer un saut de ligne après chaque formulaire.
attention au nom du champ, il faut utiliser la notation tableau pour récupérer une tableau ensuite.
par exemple
<input type="text" name="autre[]" /> et dans la validation $_POST['autre'] (si method="post") est un tableau avec un élément par input existant.
@+
Il est probablement possible de faire une variable javascript qui s'incrémente qui donnerait des noms comme "input_1", "input_2", etc. Quoi que la façon que Moogli propose est probablement mieux que la mienne.
Voici un exemple avec cette variable :
Code : Tout sélectionner
<script>
var input_nbr = 1;
function add_input()
{
var element = document.createElement("input");
element.setAttribute("type", "text");
element.setAttribute("name", "input_"+input_nbr);
var input_target = document.getElementById("target");
input_target.appendChild(element);
input_nbr++;
}
</script>
[quote="Blowingfish"]Ce n'est pas du PHP qu'il te faut ici, c'est du JavaScript(Je ne pense pas que PHP est capable de faire ça) :
[code]
<form>
<input type="text"/><br/>
<span id="cible"></span>
<br/>
<input type="button" value="add" onclick="add_input();"/>
</form>
[/code]
[/quote]
Désolé, j'ai fait une erreur dans le forumulaire, le id "cible" est en réalité "target". De plus, tu peux peut-être changer le span pour un div pour créer un saut de ligne après chaque formulaire.
[quote="moogli"]attention au nom du champ, il faut utiliser la notation tableau pour récupérer une tableau ensuite.
par exemple
<input type="text" name="autre[]" /> et dans la validation $_POST['autre'] (si method="post") est un tableau avec un élément par input existant.
@+[/quote]
Il est probablement possible de faire une variable javascript qui s'incrémente qui donnerait des noms comme "input_1", "input_2", etc. Quoi que la façon que Moogli propose est probablement mieux que la mienne.
Voici un exemple avec cette variable :
[code]
<script>
var input_nbr = 1;
function add_input()
{
var element = document.createElement("input");
element.setAttribute("type", "text");
element.setAttribute("name", "input_"+input_nbr);
var input_target = document.getElementById("target");
input_target.appendChild(element);
input_nbr++;
}
</script>
[/code]