Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di bANART
    Registrato dal
    Jul 2005
    Messaggi
    662

    Problema: Aggiungere campo "al volo" + autocompletamento

    Buongiorno a tutti.
    Di Javascript non ne so molto e mi stavo cimentando in uno script.

    Vorrei creare un filtro di ricerca nel quale ho un campo input e un tastino sotto di esso che se premuto aggiunge un altro campo input "al volo"... questo per un massimo di 5 volte (6 campi in totale).

    Ad ogni campo vorrei aggiungere una funzione di autocompletamento.

    Posto il codice:

    Codice PHP:
    <script type="text/javascript" src="js/insertField.js"></script>
    <script type="text/javascript" src="js/autocompletamento.js"></script>
    <script type="text/javascript">
        window.onload = function () {
            var oTextbox = new AutoSuggestControl(document.getElementById("instr"), new StateSuggestions());
            var oTextbox = new AutoSuggestControl(document.getElementById("instr1"), new StateSuggestions());
            var oTextbox = new AutoSuggestControl(document.getElementById("instr2"), new StateSuggestions());
            var oTextbox = new AutoSuggestControl(document.getElementById("instr3"), new StateSuggestions());
            var oTextbox = new AutoSuggestControl(document.getElementById("instr4"), new StateSuggestions());
            var oTextbox = new AutoSuggestControl(document.getElementById("instr5"), new StateSuggestions());
        }
    </script>

    <div id="filterBox">
        <div class="titleFilterBox">
            Marca
        </div>
        <div id="inhere">
            <input id="instr" type="text" name="instr" class="inputTextHalfSrc">
        </div>
        [url="javascript:AddFormField('inhere','text','','','div','inputTextHalfSrcPlus')"]aggiungi marca alla ricerca[/url]
    </div> 
    Il problema è che mi funziona solo il primo.
    E' come se, dato che le variabili vengono dichiarate all'apertura della pagina, ciò che viene creato dopo non viene associato. (non so se mi sono spiegato)

    All'apertura della pagina dichiaro:
    getElementById("instr")
    getElementById("instr1")
    getElementById("instr2")
    getElementById("instr3")
    getElementById("instr4")
    getElementById("instr5")

    e ho un solo campo input con id:
    id="instr"

    ..e quello funziona.
    Quando vado a creare un nuovo campo che avrà come id="instr1", non va.

    Così ho pensato che forse dovrei dichiarare le variabili nel momento in cui creo il nuovo campo input e ho fatto un accrocchio del genere, ma essendo una capra in js non va ugualmente.
    Di seguito il codice:

    Codice PHP:
    <script type="text/javascript" src="js/insertField.js"></script>
    <script type="text/javascript" src="js/autocompletamento.js"></script>
    <script type="text/javascript">
        window.onload = function(){
            var oTextbox = new AutoSuggestControl(document.getElementById("instr"), new StateSuggestions());
        }
        var num = 0;
        function ins(){
            var prename = "instr";
            num++;
            var idInput = String(prename + num);
            var oTextbox = new AutoSuggestControl(document.getElementById(idInput), new StateSuggestions());
            alert(idInput);
            return true;
        }
    </script>


    <div id="filterBox">
        <div class="titleFilterBox">
            Marca
        </div>
        <div id="inhere">
            <input id="instr" type="text" name="instr" class="inputTextHalfSrc">
        </div>
        [url="javascript:AddFormField('inhere','text','','','div','inputTextHalfSrcPlus')"]aggiungi marca alla ricerca[/url]
    </div> 
    Sapreste aiutarmi a risolvere questo problema?
    Grazie 1000.
    Matteo Coletta - fotografia
    Fotografo Lanciano - Fotografia a Lanciano e Pescara

  2. #2
    Utente di HTML.it L'avatar di bANART
    Registrato dal
    Jul 2005
    Messaggi
    662
    Non so come abbia fatto, ma ci sono riuscito.
    Posto di seguito il codice, magari può essere utile a qualcuno in futuro.


    Codice PHP:
    <script type="text/javascript" src="js/insertField.js"></script>
    <script type="text/javascript" src="js/autocompletamento.js"></script>
    <script type="text/javascript">
        window.onload = function(){
            var oTextbox = new AutoSuggestControl(document.getElementById("instr"), new StateSuggestions());
        }
        var num = 0;
        function ins(){
            var prename = "instr";
            num++;
            var idInput = String(prename + num);
            var oTextbox = new AutoSuggestControl(document.getElementById(idInput), new StateSuggestions());
        }
    </script>


    <div id="filterBox">
        <div class="titleFilterBox">
            Marca
        </div>
        <div id="inhere">
            <input id="instr" type="text" name="instr" class="inputTextHalfSrc">
        </div>
        [url="javascript:AddFormField('inhere','text','','','div','inputTextHalfSrcPlus');ins();"]aggiungi marca alla ricerca[/url]
    </div> 
    Matteo Coletta - fotografia
    Fotografo Lanciano - Fotografia a Lanciano e Pescara

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.