Autor Zpráva
Chodec
Profil
Ahoj.
Snažím se vytvořit formulář na upload, kde se můžou pomocí JS přidávat další <input type="file">. Kolik uživatel bude chtít uploadovat souborů, tolik si těch ITNPUTů nakliká. Stejné jako Seznam - Email s přílohami. Script jsem vytvořil, ale problém je, že když uživatel vytvoří další IPNUT, tak se všechny předchozí INPUTY resetují i pokud byly už nějaké soubory vybrané.
Použij jsem tento příkaz:
document.getElementById ("UploadFileForm").innerHTML += "<span id=\"UploadFileDiv["+objekt+"]\"><input type=\"file\" class=\"file\" name=\"UploadFile["+objekt+"]\" id=\"UploadFile["+objekt+"]\" size=\""+sirka+"\"></span>";

Vím, že to dělá to, že nezachovávám hodnoty VALUE. Ale i když jsem se je snažil vrátil z pomocného předem uloženého pole, kam jsem je schoval, tak to nefunguje.

Nemáte někdo nějaké řešení. Díky.
Měsíček
Profil
Nedělej to pomocí innerHTML, ale vytvářej další <input> pomocí document.createElement(); .. už jsem tento skript na této diskusi psal několikrát hledej.
Chodec
Profil
Mockrát díky. createElement() jsme ještě nikdy nepoužil, tak se aspoň zase něco přiučím.
Měsíček
Profil
Na prasácké řešení jsem expert :) takže kdyžtak si to uprav, ale fungovat by to mělo.
<script type="text/javascript">
  function add_input (name) {
      with (input = document.createElement("input")) { 
        setAttribute("type","file");     
        setAttribute("name",name);  
      }
        document.form.appendChild(input);       
  }
  name = 1;
</script>

<form name="form" action="#">
      <button onClick="add_input('i'+name); name++;"> Klikni</button>
    <input type="submit">
</form>
Chodec
Profil
Díky. Už jsem to sesmolil sám. Akorát mě nefunguje přiřazení stylu k elementu:

element.addClassName ("styl")
Měsíček
Profil
Není náhodou addClassName() součástí nějákého Frameworku? .. Zkus vyzkoušet ten element.setAttribute()
Chodec
Profil
Pře element.setAttribute() to nejde.
Měsíček
Profil
Reaguji na Chodce:

Zmínku o addClassName(); jsem našel jen tady.

Pokud přidáváš jakýkoliv atribut IMHO setAttribute() by měl fungovat vždy, jinak v nejhorším případě můžeš vyzkoušet řešení nahoře (to řeší i názvy inputů - to bude zase problém jak s nimi pracovat v PHP).
Chodec
Profil
Málem jsem na to zapomněl. Takhle už to jde:

element.className = "styl"

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