Autor Zpráva
Spectator
Profil
Dobrý den,
mám obyčejný formulář a toto v něm:

  <div class="in_file">
    <input type="file" name="soubor[]" />
  </div>
  <input type='button' class='add_file' value='přidat'>

dále jquery, kreté by mělo přidat input file. Input se přidá, ale pokud formulář odešlu, nahraje se pouze soubor z prvního (původního) inputu, ostatní se nenahrají.

    $(".add_file").click(function() {
        $('.in_file').append('<input type="file" name="soubor[]" />');    
    });

Pokud řádek input file natvrdo několikrát nakopíruji, tak se nahrají všechny soubory.

Vypadá to, jako by prohlížeč s těmi novými inputy nepočítal a jen je tam zobrazil

Prosím, němá s tím někdo zkušenost?
peta
Profil
Spectator:
Link na demo soubor, kod?
Php ma limit odeslani nastaveni na 2MB. Kolik maji soubory celkem?
Nevylucuji moznost, co popisujes. Ale myslim, ze jsem to parkrat zkousel pridavat javascriptem a nebyl s tim problem. Nezkousel jsem to ale pres jquery. Mozna pouziva jiny system pridani nez innerHTML.
Nenasel jsem tag form.

Ve FF, kdyz po pridani oznacis celou stranku (ctrl+a) nebo vybranou cast, tak se da pravym tlacitkem zobrazit - zdrojovy kod vyberu. Kde zobrazuje i nove pridane inputy. Tak si zkontroluj, zda je html kod ok.
nemeja
Profil
Zobrazit zdrojový kod se dá i CTRL + U
Darker
Profil
nemeja:
Zobrazit zdrojový kod se dá i CTRL + U
Většina prohlížečů zobrazí zdrojový soubor - změny javascriptem se neprojeví.

Spectator:
Co ti brání používat DOM?
function addup() {
  var file = document.createElement('input');
  file.name = "soubor[]";
  file.type = "file"; 
  $('.in_file')[0].appendChild(file);
}
$.(".add_file").bind("click", addup);
Funkční ukázka.
Důrazně ti doporučuji unikátní elementy stylovat a lokalizovat pomocí ID a ne CLASS.
Spectator
Profil
Děkuji za rady.
Chyba byla v HTML. V kódu se křížily tagy DIV obalujícího formulář a samotný tag FORM.

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