Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15

Discussione: Campo Testo Dinamico

  1. #11
    l'errore è qui :

    quando bisogna cambiare questa riga :
    __hForm.elements["artList"].value = artListFound;

    in

    document.getElementById("layer_sotto_inputbox").in nerHTML = artListFound;

  2. #12
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    143
    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;
    ho provato sia lo script originale che quello editato...ma nisba, sempre "Errore nella visualizzazione della pagina". Bo...
    Death to False Metal

  3. #13
    Originariamente inviato da Metallox
    ho provato sia lo script originale che quello editato...ma nisba, sempre "Errore nella visualizzazione della pagina". Bo...
    si bisogna capire l'errore

    Io non mi ci metto stamattina perche di java non ciazzecco nulla e poi ho una grana con il modrewirte

  4. #14
    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!
    se clicchi sulla scritta nella barra di stato [errore nella visualizzazione della pagina] ti dice di che errore si tratti.

    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

  5. #15
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    143
    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

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