problema con script di lista suggerimenti

  • Creatore Discussione Creatore Discussione calcas2
  • Data di inizio Data di inizio

calcas2

Nuovo Utente
27 Ago 2009
20
0
0
Salve a tutti, spero possiate aiutarmi!
dovrei creare un text form in cui al primo carattere inserito (qualunque esso sia), si apre una lista di suggerimenti statica e predefinita con una serie di voci. ciascuna voce contiene un link ad un'atra pagina per cui, cliccando con il mouse su ciascuna voce si viene indirizzati al link indicato.
Ora, Io sono riuscito in parte a realizzarlo riadattando uno script a disposizione nella rete.
Ovverosia sono riuscito nell'intento che volevo (visualizzare, al momento in cui si digita qualcosa, una lista predeterminata di parole a prescindere dalle singole lettere digitate ), cosi strutturando:
nella pagina index ho inserito il codice di seguito:

HTML:
    <html>
    <head>
    <script src="total.js"></script>
    <script src="http://www.google.com/jsapi"></script>
    <script>
    google.load("prototype", "1.6");
    google.load("scriptaculous", "1.8.1");
    </script>
    <title>prova</title>
    <style type="text/css">
        input{
            font-family:Verdana;
            font-size:10px;
            width:200px;
        }
        div.campo{
            font-family:Verdana;
            font-size:10px;
        }
        div.boxsuggerimenti {
          font-family:Verdana;
          font-size:10px;
          position:absolute;
          background-color:white;
          border:1px solid #888;
          margin:0px;
          padding:0px;
        }
        div.boxsuggerimenti ul {
          list-style-type:none;
          margin:0px;
          padding:0px;
        }
        div.boxsuggerimenti ul li.selected { background-color: #C2EBEF;}
        div.boxsuggerimenti ul li {
          list-style-type:none;
          display:block;
          margin:0;
          padding:1px;
          cursor:pointer;
          border-bottom:1px solid #888;
        }
    </style>
    </head>
    <body>
    <div class="campo">prova</div>
    <input type="text" id="squadra" name="squadra"/>
    <div id="suggerimenti_squadra" class="boxsuggerimenti"></div>
    <script type="text/javascript">new Ajax.Autocompleter("squadra", "suggerimenti_squadra", "cerca.php", {minChars: 1});</script>
     
     </body>
     </html>

Nella pagina cerca.php ho inserito la lista statica...ad es:

HTML:
    <ul>
            <li>fiorentina<</li>
            <li>milan</li>
    </ul>


Ora il mio problema è che vorrei che cliccando sulle singole voci (ad es. "fiorentina" o "milan") si venisse indirizzati in altri siti di modo che ogni singola voce della lista suggerimenti avesse un link..ho provato semplicemente inserendo <a href="www.sitointernet.it">milan</a> nelle singole voci del file php ma non funziona...mi sapreste aiutare e dirmi come mai i link non funzionano?
Grazie mille per la vostra attenzione e disponibilità
 
Ultima modifica di un moderatore:
ciao
questo link è sbagliato
HTML:
<a href="www.sitointernet.it">milan</a>

ci vuole l'http

HTML:
<a href="http://www.sitointernet.it">milan</a>
 
Per formattare il codice usa gli appositi tag BBCode (seconda barra, ultimi tre bottoni). La prossima volta cancello il messaggio.

Passando al tuo problema: stai usando un sistema inadatto per quello che vuoi ottenere, perché non c'è bisogno di AJAX visto che non effettui alcuna richiesta ad una fonte dati. Basta fare così:
HTML:
<!DOCTYPE html>
<html>
    <head>
        <title>Lista pagine</title>
        <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    </head>

    <body>
        <input type="text" id="inputbox" />
        <div id="suggerimenti" style="display: none">
            <ul>
                <li><a href="http://www.example.com">Suggerimento 1</a></li>
                <li><a href="http://www.example.com">Suggerimento 2</a></li>
                <li><a href="http://www.example.com">Suggerimento 3</a></li>
            </ul>
        </div>

        <script type="text/javascript">
            document.getElementById("inputbox").onkeyup = function() {
                suggerimenti = document.getElementById("suggerimenti");

                if (suggerimenti.style.display == "none") {
                    suggerimenti.style.display = "block";
                }
            };
        </script>
    </body>
</html>
 
Nella pagina cerca.php potresti mettere qualcosa del genere:

PHP:
<?php
$array = array(
    "Milan" => "http://www.milan.it",
    "Inter" => "http://www.inter.it",
    "Juventus" => "http://www.juve.it"
);

echo "<ul>";
$controllo = 0;
foreach ($array as $key => $value) {
    if (strpos(strtolower($key), strtolower($_POST['squadra'])) !== false) {
        $controllo++;
        echo "<li><a href='$value'>$key</a></li>";
    }
}
if ($controllo == 0) {
    echo "<li>Nessun suggerimento</li>";
}
echo "</ul>";
?>

Cosi l'utilizzo di ajax ha più senso
 

Discussioni simili