Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Mehrere Dateien hochladen

  1. #1
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362

    Mehrere Dateien hochladen

    Hallo,

    ich möchte mehrere Datein hochladen lassen. Anfangs soll nur ein Upload-Feld angezeigt werden (soweit klappts), dann ein Link mit "weitere Datei hochladen". Bei Klick auf diesen soll nochmal ein Upload-Feld angezeigt werden. Des klappt auch. Nur wenn vorher in einem Upload-Feld schonmal eine Datei ausgewählt wurde, verschwindet diese, wenn man auf den Link klickt.

    Hier der Code:
    HTML-Code:
    <div style="display:none" id="hidden">
      <input type="file" name="file_1" size="50" id="file" /><br /><br />
    </div>
    <div id="frame">
    <!-- Hier soll die Liste stehen -->
    </div>
    Das Javascript:
    Code:
    var counter;
    counter = 1;
    
    function add_row(){
      field = document.getElementById('hidden');
      target = document.getElementById('frame');
      document.getElementById('file').name = 'file' + counter;
      target.innerHTML = target.innerHTML + field.innerHTML;
    
      counter ++;
    }
    Wie kann ich jetzt verhindern, dass die bisherige Auswahl verschwindet?
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  2. #2
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    Hat sich erledigt.
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  3. #3
    Registrierter Benutzer
    Registriert seit
    25.12.2004
    Beiträge
    217
    Hallo Turbohummel,

    darf man fragen wie jetzt gemacht hast?

    Viele Grüße,

    nEox

  4. #4
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    Die Anzahl der maximal hochladbaren Dateien ist bereits beim Aufruf des PHP-Scriptes bekannt (über ein Config-File). Jetzt werden die einzelnen <input type="file"> gleich nach dem Laden der Seite von JS erzeugt (z.B. 20 Stück). Das <div> um den Input herum bekommt eine eindeutige ID und wird auf display:none; gesetzt. Davon möchte ich hier noch keinen Code zeigen, da das Ganze noch ziemlich wüst ist.

    Das JS zum Aktiveren des jeweils nächsten Blocks sieht dann so aus (die Funktion wird über onclick auf den Link aufgerufen):
    Code:
    var counter;
    counter = 1;
    
    function add_row(){
      $e = document.getElementById('block_'+counter);
      if($e != null){
        $e.style.display = 'block';
      }
      counter ++;
      $n = document.getElementById('block_'+counter);
      if($n == null){
        $a = document.getElementById('add');
        $a.innerHTML = '';
      }
    }
    Das Element mit der ID"add" ist das <div>, dass den Link für den nächsten Upload enthält.
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  5. #5
    Registrierter Benutzer
    Registriert seit
    25.12.2004
    Beiträge
    217
    ah das ist schlau die DIV's vorher zu erzeugen und dann auszublenden. Ein Kollege hatte mal ein ähnliches Problem, aber darauf bin ich nicht gekommen ^^

    Vielen Dank fürs Erklären!

    Grüße,

    nEox

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •