Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [JS] - Select crea input

    Ciao a tutti,
    ho creato uno script in cui ho una select che mi permette di scegliere un numero, una volta scelto in un div nascosto mi mostra il numero scelto di campi.
    Ho solo un problema, se io clicco un numero qualsiasi, però mi accorgo di essermi sbagliato e clicco su un altro numero, questo mi aggiunge il numero di campi selezionato. Non c'è un modo di riprendere da capo??

    Ciao e grazie

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Teoricamente si... ma per evitare di doverci reinventare tutto, col rischio di incompatibilita' con quanto da te fatto finora, posta qualcosina... che so, tutta la pagina o un link per vederla on-line

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Questa è la funzione che mi aggunge i campi:

    function show1(numero,id) {
    if (document.all) {
    document.all[id].style.visibility="visible";
    for (i=1;i<=numero;i++) {
    var inputField = document.createElement("input");
    inputField.setAttribute("type","file");
    inputField.setAttribute("name","file" + i);
    inputField.setAttribute("class","formHAND");
    document.getElementById(id).appendChild(inputField );
    }
    } else if (document.layers) {
    document.layers[id].visibility="show";
    for (i=1;i<=numero;i++) {
    var inputField = document.createElement("input");
    inputField.setAttribute("type","file");
    inputField.setAttribute("name","file" + i);
    inputField.setAttribute("class","formHAND");
    document.getElementById(id).appendChild(inputField );
    }
    } else if (document.getElementById) {
    document.getElementById(id).style.visibility="visi ble";
    for (i=1;i<=numero;i++) {
    var inputField = document.createElement("input");
    inputField.setAttribute("type","file");
    inputField.setAttribute("name","file" + i);
    inputField.setAttribute("class","formHAND");
    document.getElementById(id).appendChild(inputField );
    }
    }
    }

    e questo è il codice html:

    <select name="numAllegati" class="formHAND" onChange="show1(this.options[this.selectedIndex].value,'contenitore');">
    <option value="0" selected>0</option>
    <?php
    for ($i=1;$i<=5;$i++) {
    echo "<option value=\"".$i."\">".$i."</option>";
    }
    ?>
    </select>
    <div id="contenitore" style="visibility: hidden;"></div>

  4. #4
    Ho trovato la soluzione. La mia funzione finale è così:

    function show1(numero) {
    if (document.all) {

    d = document.getElementById("contenitore");
    v = document.getElementById("sotto");
    throwaway_node = d.removeChild(v);

    if (throwaway_node) {
    var div=document.createElement("div");
    div.setAttribute("id","sotto");
    d.appendChild(div);
    d.style.visibility="visible";
    }

    for (i=1;i<=numero;i++) {
    var inputField = document.createElement("input");
    inputField.setAttribute("type","file");
    inputField.setAttribute("name","allegato" + i);
    inputField.setAttribute("size","34");
    inputField.setAttribute("className","formHAND");
    document.getElementById("sotto").appendChild(input Field);
    }
    } else if (document.layers) {
    document.layers["contenitore"].visibility="show";
    for (i=1;i<=numero;i++) {
    var inputField = document.createElement("input");
    inputField.setAttribute("type","file");
    inputField.setAttribute("name","allegato" + i);
    inputField.setAttribute("size","34");
    inputField.setAttribute("class","formHAND");
    document.getElementById("sotto").appendChild(input Field);
    }
    } else if (document.getElementById) {
    document.getElementById("contenitore").style.visib ility="visible";
    for (i=1;i<=numero;i++) {
    var inputField = document.createElement("input");
    inputField.setAttribute("type","file");
    inputField.setAttribute("name","allegato" + i);
    inputField.setAttribute("size","34");
    inputField.setAttribute("class","formHAND");
    document.getElementById("sotto").appendChild(input Field);
    }
    }
    }

    Mentre il codice html è così:

    <select name="numAllegati" class="formHAND" onChange="show1(this.options[this.selectedIndex].value);">
    <option value="0" selected>0</option>
    <?php
    for ($i=1;$i<=5;$i++) {
    echo "<option value=\"".$i."\">".$i."</option>";
    }
    ?>
    </select>
    <div id="contenitore" style="visibility: hidden;">
    <div id="sotto"></div>
    </div>

    Ciao a tutti. Spero sia di aiuto a qualcuno!!

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