Autor Zpráva
Camo
Profil
Ja viem, že je to to často, ale nemôžem to stále pochopiť. Našiel som jeden dosť dobrý príklad(aspoň si myslím), ale nechápem.... Toto je on: http://diskuse.jakpsatweb.cz/?action=vthread&forum=8&topic=34926 Ide o to(ako iste viete...), že pri pridaní nového inputu do formu, sa mi stratí hodnota ktorú mám v predošlom inpute.
Ja mám toto:
<script type="text/javascript">
var globalka=1;
function pridat(){
globalka++;
document.getElementById('formDIV').innerHTML+='<input name="inputname'+globalka+'" type="file" size="70">';
         }
</script>
</head>
<body>
<div id="obal">

 <h1>Upload suboru:</h1>
 <form name="form1" enctype="multipart/form-data" action="upload.php" method="post">
 <div id="formDIV">
 <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
 <input name="input1" type="file" size="70">
 </div>
 <br />
 <button onclick="pridat(); return false">Pridať ďalší</button>
 <input type="submit" value="odoslat">
 </form>
</div>
, ale samozrejme som narazil na problém, na ktorý asi narazil už každý, len ja nie....
V tom príklade je to riešené, cez DOM, ale strácam sa v tom. Nechápem aká je úloha metódy fill() a poľa inputArr. To pole je zrejme fatálne, ale ja nikde nevidím, že by sa volala metóda fill(). Čo to fill() vlastne robí? Je v ňom uložený text, či objekt(ak vôbec viem čo píšem?). Čakal by som, že sa tým poľom bude niekde prechádzať a vypisovať, ale nevidím to tam...
Môže ma niekto aspoň odkopnúť na nejaký link s podrobným popisom problému? Moc ďakujem...
Camo
Profil
Zatiaľ som pozliepal toto:
Miesto:
document.getElementById('formDIV').innerHTML+='<input name="inputname'+globalka+'" type="file" size="70">';

som dal toto:
novy=document.createElement('input');
novy.name='input'+globalka;
novy.type='file';
novy.size=70;
doument.getElementById('formDIV').appendChild(novy);

Zdá sa, že to funguje(všade), len neviem či v tom nieje nejaká záludnosť....
Je, či nieje, podľa vás?

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0