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:
Il problema è che mi funziona solo il primo.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>
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:
Sapreste aiutarmi a risolvere questo problema?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>
Grazie 1000.
![]()

Rispondi quotando