Newsgroup: it.comp.lang.javascript
Titolo: setTmieout() Problema...

Se l'elemento text contiene un valore dovrebbe apparire il select, la
funzione dovrebbe essere
chiamata dal Timeout(), sto provando in molti modi, le mie conoscenze in js
non mi permettono di
risolvere il problema.
Ringrazio per la vostra pazienza
Jeey
Pagina HTML
==========================================
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
function select_show(campi){
var salu = campi.split(',');
for(var c=0; c < salu.length; c++){
var cam = document.getElementById(salu[c]).value;
if(cam != false){
document.getElementById(salu[c]+'_S').style.visibility='visible';
}else{document.getElementById(salu[c] +'_S').style.visibility='hidden';
}
}
}
window.setTimeout("select_show()",20);
</script>
</head>
<body onLoad="select_show('R1,R2,R3,R4')">
<input name="R1" type="text" id="R1">
<input name="R2" type="text" id="R2">
<input name="R3" type="text" id="R3">
<input name="R4" type="text" id="R4">
<br>
<select name="R1_S" id="R1_S" style="visibility:hidden;">
</select>
<select name="R2_S" id="R2_S" style="visibility:hidden;">
</select>
<select  name="R3_S" id="R3_S" style="visibility:hidden;">
</select>
<select  name="R4_S" id="R4_S" style="visibility:hidden;">
</select>
</body>
</html>
===========================================

 if(cam != false){
Questo per una select non penso significhi qualcosa. Se volevi verificare
se l'oggetto esiste devi fermarti prima della proprietà:
cam=document.getElementById(salu[c]);
if(cam) {
Per il resto io non vedo errori, che problemi ti dà?
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.

 Per il resto io non vedo errori, che problemi ti dà?
che non appare il select, se nel rispettivo textfield viene immesso qualcosa

 se faccio un reload, automaticamente i campi sono vuoti.
Non è che stai sbagliando approccio al problema?
Cosa c'entra il reload?
Spiega esattamente cosa vuoi ottenere; quello che hai fatto è (più o meno,
dovresti almeno modificare il !=false con !=""): quando ha terminato di
caricare la pagina se nei campi text c'è scritto qualcosa visualizza le
select, altrimenti no.
Se il codice è come lo hai scritto le textbox non hanno valore e quindi non
visualizza alcuna select.
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 visualizza alcuna select.
Infatti i textfield non hanno nessun valore iniziale, perň se il valore lo
immetto dopo che ho caricato la pagina, non appare nessuna Select.
In alcuni casi le select, contegono dei valori  prima che la pagina si
carichi, questo č il motivo perchč ho pensato di usare il timeout()
in parole povere se il textfield contiene un valore, deve esserci la
rispettiva select, altrimenti no, indipendentemente se il valore viene
immesso dopo il caricamento o prima (se prima, il valore viene inserito da
uno script in Perl)

 uno script in Perl)
Quindi l'onload non ti serve a nulla (visualizza le select appropriate lato
server già che ci sei nel caso in cui le textbox siano valorizzate fin dal
caricamento della pagina).
Devi capire quando vuoi scatenare la function; puoi metterla onblur della
textbox (<input onblur='tuafunction(parametri)'>)
Oppure onkeyup (quando viene premuto un tasto nella textbox).
