l'errore è qui :
quando bisogna cambiare questa riga :
__hForm.elements["artList"].value = artListFound;
in
document.getElementById("layer_sotto_inputbox").in nerHTML = artListFound;
l'errore è qui :
quando bisogna cambiare questa riga :
__hForm.elements["artList"].value = artListFound;
in
document.getElementById("layer_sotto_inputbox").in nerHTML = artListFound;
ho provato sia lo script originale che quello editato...ma nisba, sempre "Errore nella visualizzazione della pagina". Bo...Originariamente inviato da stefano3804
l'errore è qui :
quando bisogna cambiare questa riga :
__hForm.elements["artList"].value = artListFound;
in
document.getElementById("layer_sotto_inputbox").in nerHTML = artListFound;
Death to False Metal
si bisogna capire l'erroreOriginariamente inviato da Metallox
ho provato sia lo script originale che quello editato...ma nisba, sempre "Errore nella visualizzazione della pagina". Bo...
Io non mi ci metto stamattina perche di java non ciazzecco nulla e poi ho una grana con il modrewirte
se clicchi sulla scritta nella barra di stato [errore nella visualizzazione della pagina] ti dice di che errore si tratti.Originariamente inviato da Metallox
non so che errore sia...si tratta di errori nella visualizzazione della pagina (compare la scritta nella barra di stato del browser.
il mio problema è che di javascript non so proprio nulla e id quel codice non capisco niente!
comunque se è un errore lato-client devi chiedere nel forum appropriato, se no finisce che andiamo troppo OT e questa discussione verrà chiusa.
cerco comunque di spiegarti come ho risolto io con l'aiuto degli utenti di questo e dell'altro forum; il mio campo di testo è questo:
<input name="artName" type="text" id="artName" onKeyUp="updateList( this.form, this );" size="15" onKeyPress="javascript:visibile();">
sotto a questa ho creato il mio div vuoto:
codice:<div id="mio_layer" style="display:none; "></div>
l'avevi creato tu il div? se non lo crei è logico che dia errore, non trovando l'elemento con id mio_layer![]()
codice:<script type="text/javascript"> <!-- function updateList( __hForm, __hArtName ){ var itemFound = 0; var artToSearch = __hArtName.value; var artListFound = ""; for ( var i=0; i<artList.length; i++ ){ if ( artToSearch == artList[i].substring( 0, artToSearch.length) ) { artListFound += "<a href=\"#\" onClick=\"selcopy('" + artList[i] + "'); setTimeOut(sendForm(), 2500);\">" + artList[i] + "</a> "; itemFound++; } } if ( itemFound ) artListFound = artListFound; else artListFound = "Nessun articolo trovato."; document.getElementById("mio_layer").innerHTML = artListFound; } function selcopy(valore){ document.getElementById("artName").value = valore; } function visibile(){ document.getElementById("mio_layer").style.display=""; } function sendForm(){ document.getElementById("mio_layer").style.display="none"; document.getElementById("form").submit(); } //--> </script>
e naturalmente prima della parte javascript ti fai un pezzo php in cui crei l'array da passare alla funzione:
Codice PHP:echo "<script>var artList = new Array(";
while($row = @mysql_fetch_array($tuo_risultato)){
echo "'".$row["valore"]."',";
}
echo "''";
echo ");</script>";
naturalmente se cambi nome e id degli elementi [form compreso] abbi l'accortezza di cambiarli anche nelle funzioni javascript!
p.s. creati l'id mio_layer utilizzando i css, e degli le proprietà che vuoi; io ad esempio ho fatto così:
codice:<style> #mio_layer{ max-height:95px; height:expression(this.scrollHeight > 95? "95px" : "auto"); position:absolute; top:220px; overflow:auto; width:100px; background-color:#F4F4F4; } </style>
Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone
Ok grazie. Ora non da errori ma non visualizza nulla. ti posto il codice di esempio (l' array per ora è ancora statico:
codice:<script type="text/javascript" language="JavaScript"> <!-- var artList = new Array( ); artList[artList.length] = "maglietta"; artList[artList.length] = "maglione"; artList[artList.length] = "maglia da lavoro"; artList[artList.length] = "scarpa"; artList[artList.length] = "scarpino"; artList[artList.length] = "calzino"; artList[artList.length] = "calzettone"; artList[artList.length] = "cavallo"; artList[artList.length] = "cavalluccio marino"; <!-- function updateList( __hForm, __hArtName ){ var itemFound = 0; var artToSearch = __hArtName.value; var artListFound = ""; for ( var i=0; i<artList.length; i++ ){ if ( artToSearch == artList[i].substring( 0, artToSearch.length) ) { artListFound += "<a href=\"#\" onClick=\"selcopy('" + artList[i] + "'); setTimeOut(sendForm(), 2500);\">" + artList[i] + "</a> "; itemFound++; } } if ( itemFound ) artListFound = artListFound; else artListFound = "Nessun articolo trovato."; document.getElementById("mio_layer").innerHTML = artListFound; } function selcopy(valore){ document.getElementById("artName").value = valore; } function visibile(){ document.getElementById("mio_layer").style.display=""; } function sendForm(){ document.getElementById("mio_layer").style.display="none"; document.getElementById("form").submit(); } //--> </script>
e nelle parte html la forma è così strutturata:
codice:<form method="post" action="check.php?totale=<? print "$totale"; ?>" > <input name="artName" type="text" id="artName" onKeyUp="updateList( this.form, this );" size="15" onKeyPress="java script:visibile();"> <div id="mio_layer" style="display:none; "></div> </form>
Death to False Metal