Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310

    creazione di un input type="file" con evento onChange

    allora, ho questo codice:

    codice:
    <form action="/page/upload.php" method="post" enctype="multipart/form-data">
    	<input type="file" name="upfile[]" onChange="photos()">
    
            <input type="hidden" name="MAX_FILE_SIZE" value="100000">
    	<input type="submit" value="Invia il file">
    	<input type="reset" name="reset" value="Azzera dati">
    </form>
    nella mia funzione photos() vorrei fare in maniera tale che ogni volta che cambia il contenuto del primo

    input type="file"

    sotto me ne appaia un altro vuoto, identico a quello sopra.
    ESEMPIO

    <input type="file" name="upfile[]" onChange="photos()">


    questo viene riempito, sotto me ne deve comparire un altro, da ottenere questo risultato
    <input type="file" name="upfile[]" onChange="photos()">

    <input type="file" name="upfile[]" onChange="photos()">


    se riempio il secondo, ne servono tre
    <input type="file" name="upfile[]" onChange="photos()">

    <input type="file" name="upfile[]" onChange="photos()">

    <input type="file" name="upfile[]" onChange="photos()">

    ...
    ...
    ...

    e cosi via? qualcosa già pronto? un link? un aiutino?
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    codice:
    function photos() {
      var input = document.createElement('input');
      input.type = 'file';
      input.name = 'upfile[]';
      input.onchange = photos;
      var br = document.createElement('br');
      var files = document.getElementById('files');
      files.appendChild(input);
      files.appendChild(br);
    }
    poi metti l'input in un div con id files
    dovrebbe andare

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    sì, manca solo l'onchange

    codice:
    function addField(div) {
      var field = document.createElement("input");
      field.type="file";
      field.name="upfile[]";
      field.onchange = function () {
        addField(div);
      };
      document.getElementById(div).appendChild(field);
      field = document.createElement("br");
      document.getElementById(div).appendChild(field);
    }
    e gli input andranno in
    codice:
    <div id="tuodiv">
      <input type="file" name="upfile[]" onchange="addField(this.parentNode.id);" />
    
    </div>
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    Originariamente inviato da Andrea1979
    sì, manca solo l'onchange
    l'avevo messo
    input.onchange = photos;

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    mi mangio una merda
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    grazie floyd, funziona correttamente.

    Avrei solo una domanda da farti:

    inizialmente, prima e unica casella vuota, la riempio e mi appare la seconda.

    Però, se io vado a rimodificare la prima casella, poi me ne appare una terza vuota.

    Sicchè finisco per ritrovarmi con prima piena, seconda e terza vuota..

    si può ovviare a ciò? nel senso, se ricarico una casella già piena, evitare di crearne un altra vuota (in quanto esiste già)

    se non è troppo disturbo..

    spero di essermi spiegato...
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  7. #7
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    provo
    codice:
    function photos(source) {
      source.onchange = null;
      var input = document.createElement('input');
      input.type = 'file';
      input.name = 'upfile[]';
      input.onchange = function () {photos(input); };
      var br = document.createElement('br');
      var files = document.getElementById('files');
      files.appendChild(input);
      files.appendChild(br);
    }
    l'onchange dell'input deve essere photos(this)

  8. #8
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    MITICO!!

    Grazie mille. Spero di non doverti più rompere su questo argomento...

    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.