Visualizzazione dei risultati da 1 a 6 su 6

Discussione: campo file

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929

    campo file

    ciao a tutti,

    ho una select e un pulsante dentro un form

    cosi
    codice:
    <html>
    <head>
    <title>TEST</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    
    <body>
    <form name="form1" method="get" action="">
      <select name="nfoto" id="nfoto">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
      </select>
      <input type="submit" name="Submit" value="Invia">
    </form>
    </body>
    </html>
    come posso fare in modo che alla pressione del tasto mi si creano tanti campi file in base alla selezione della selct?

    Grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Mi pare di ricordare che tu usi PHP come server-side. Se la pagina in questione è PHP (e non provieni da una pagina con post), potresti fare qualcosa del genere:
    codice:
    <select onchange="window.location='?file='+this.value">
      <option value="0"></option>
      //seguono tutte le altre option, da 1 a 20
    </select>
    <?php
      if (isset($_GET['file']) && ($_GET['file']>=0 && $_GET['file']<=20)) {
        for ($i = 0; $i < count($_GET['file']); $i++) {?>
      <input type="file" name="file[]" />
    <?php } //chiude for
    } //chiude if ?>
    Altrimenti se preferisci soluzione javascript, scrivi una funzione (da mettere nell'header) che aggiunga (via innerHTML ad esempio) un numero di campi input file congruo (potresti richiamarla sempre all'onchange della select con add_file(this.value)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    sto cercando di capire il tuo esempio.... :master:

    mi riesci a fare un'esempio più pratico, non sono riuscita ad utilizzarlo... :master:

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    grazie mille sto provando con php

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Praticamente si vuol fare in modo che la select modifichi l'url del documento, aggiungendo in querystring il numero di input file che vuoi mostrare. All'atto pratico, al cambio della select ti trovi ad avere

    http://tuosito.com/pagina.php?file=xy

    A questo punto, si recupera in $_GET il valore di file e si fanno dei controlli base onde evitare risultati inaspettati: in particolare, se $_GET['file'] non esiste, non si mostra alcun input file così come se file non è numerico tra 0 e 20 (eviti così che qualche furbacchione provi ad attuare qualche exploit casereccio o semplicemente si diverta con robe del tipo file=ciccio et similia).

    Saluti.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    grazie mille ho risolto

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 © 2026 vBulletin Solutions, Inc. All rights reserved.