Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Campi form dinamici

  1. #1
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442

    Campi form dinamici

    Ciao a tutti, stavo provando uno script trovato online qui, e volevo modificarlo per ottenere un form di invio files dinamico, ovvero che parte da un campo di tipo file e permetta se si ha la necessità di aggiungere altri elementi input senza ricaricare la pagina, sono partito da questo, ma dopo alcune prove ho capito che non funziona, pensavo fosse un problema di php, ma mi sono accorto dalla richiesta inviata al server che non è così.

    Qualcuno sa come ottenere un risultato del genere?

    In realtà ho su gmail questa cosa viene fatta, ma non riesco a capire come, in quanto il codice di gmail è abbastanza nascosto e non voglio perdere mezza giornata per cercare di leggere il loro codice.

    Qualche link o qualche dritta?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    prova con le opportune modifiche l' esempio che trovi qui
    ciao

  3. #3
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442
    Ti ringrazio moltissimo per la risposta, almeno quello che mi hai linkato tu invia i dati.

    Ora proverò a modificarlo, cercando di fare quello che mi serve.

    Grazie di nuovo.

  4. #4
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442
    Ci sono riuscito!!!

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="JavaScript" type="text/javascript">
    <!--
    var files = 1;
    
    function add() {
      if (document.createElement && document.getElementById && document.getElementsByTagName) {
        // crea elementi
        var inputField = document.createElement("input");
        var brField = document.createElement("br");
    
        // setta attributi
        inputField.setAttribute("type","file");
        inputField.setAttribute("name","file" + files);
    
        // appendi al relativo padre
        document.getElementById('files').appendChild(brField);
        document.getElementById('files').appendChild(inputField);
        // incrementa variabile globale
        files++;
      }
    }
    
    function del() {
      if (document.removeChild && document.getElementById && document.getElementsByTagName) {
        // se non e' la prima riga
        if (files > 1) {
          // decrementa variabile globale
          files--;
          // rimuovi
          var inputField = document.getElementById('files').getElementsByTagName('input')[files];
          var brField = document.getElementById('files').getElementsByTagName('br')[files-1];
          document.getElementById('files').removeChild(inputField);
          document.getElementById('files').removeChild(brField);
        }
      }
    }
    //-->
    </script>
    </head>
    <body>
    <form name="modulo" action="addimage.php" method="post" enctype="multipart/form-data">
      <p id="files">
        <input type="file" name="file0" />
      </p>
      
    
    Aggiungi campo <a href="javascript:del()">Rimuovi
        campo</a></p>
      <input name="invio" type="submit" id="invio" value="Upload files">
      <input type="reset" name="Submit2" value="Reimposta">
    </form>
    <?
        phpinfo();
    ?>
    </body>
    </html>
    Con questo codice riesco a fare quello che volevo, grazie mille per il link, ti sono veramente grato.

    Un'ultima cosa, vorrei aggiungere dei link vicino ai singoli input in modo da poter specificare quale input rimuovere, ma con il seguente codice non visualizza (giustamente) nulla
    codice:
        
    var aField = document.createElement("a");
    aField.setAttribute("href","javascript:rimuovi(" + files + ")");
    document.getElementById('files').appendChild(aField);
    Qualche altra dritta?

    Ultimissima cosa, da quello che ho capito hai usato il DOM, giusto? Perchè sui tutorial javascript che ho io non avevo mai sentito questi metodi, qualche buon link per approfondire?

    Grazie di nuovo.

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    speciale DOM di pro.html.it

    il resto lo leggo quando ho un po' di tempo
    (scusa ma ora... )

  6. #6
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442
    Grazie per il link, ne avevo trovato un altro su html.it che però parlava fondamentalmente di XML.

    Buonanotte.

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.