Autor Zpráva
Ferda
Profil *
Zdravim,

potrebuju pomoci javascriptu vytvaret formularova pole.

Mam formular a u neho policko kam uzivatel napise cislo (coz bude mnozstvi udaju ktere chce napsat) a podle toho cisla potrebuju zaridit to aby se mi v ramci toho formulare vytvorili nove input prvky.

Proste zadam treba cislo 8, a ve formulari se mi vyrobi osm novych input type=text.

Nejak na to nemuzu prijit, pokousim se to delat pomoci "new", ale to mi nefunguje.

Moc diiik za postrceni.

Ferda
Fred
Profil
<script type="text/javascript">
function pridat(){
for(var i=0;i<document.getElementById('vstup').value;i++){
var novyB=document.createElement('input');
novyB.type='text';
novyB.name='vstup'+[i];
novyB.id='vstup'+[i];
document.getElementById('vystup').appendChild(novyB);
}
}
</script>
<input type="text" id="vstup">
<input type="button" value="Přidat" onclick="pridat(); return false;">
<div id="vystup"></div>
Chamurappi
Profil
Reaguji na Freda:
Proč nastavuješ i type? Proč id?

Totéž stručněji:
<script>
function pridat()
{
for(var i = 0; i < document.getElementById('vstup').value; i++)
document.getElementById('vystup').innerHTML += '<input name="vstup' + i + '">';
}
</script>
<input id="vstup">
<button onclick="return pridat()">Přidat</button>
<div id="vystup"></div>

Použití innerHTML je názornější. Kdyby chtěl Ferda přidat za <input> třeba ještě <br>, stačí triviální úprava.
Ferda
Profil *
Covece mooooooooooooooooooooooooooooc diiiiik, to je presne ono.

Ferda
Ferda
Profil *
Moc Vám oběma děkuju, teď už přesně vim jak na to a hlavně jak dál.

Ferda
Fred
Profil
Chamurappi
Já vím, jen abych předešel případnému dalšímu dotazu jak to dál zpracovávat.
Ferda
Radši by jsi to měl měnit ze selectu na onchange, aby jsi zamezil vkládání blbostí ze strany uživatele. Tedy pokud potřebuješ nějaké max rozumné množství těch tvořených inputů.
Ferda
Profil *
Jasne, bude jich 20 maximalne. Select uz jsem tam udelal, je to s nim pro uzivatele pohodlnejsi.

diiik

Ferda
Toto téma je uzamčeno. Odpověď nelze zaslat.

0