Auto Complete

Crav3X

Erfahrenes Mitglied
Hallo,

versuche mich grad mit Ajax... nur will das Beispiel aus nem Buch nicht.

es passiert einfach Garnichts..

Hier der Code.


PHP:
<?php

$suche = $_REQUEST['vorname'];

$werte = array("Marie", "Stephan", "Tobias", "Jens", "Uwe", "Mario", "Stefanie");

foreach($werte as $wert)
if (strpos($wert, $suche) === 0)
$ergebnis .="<li>".$wert."</li>\n";

echo "<ul>\n".$ergebnis."</ul>";

?>

HTML:
<html>
<head>
<titel>Auto complete</titel>
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="scriptaculous.js"></script>
</head>
<body>

<style type="text/css">

div.auto_complete
{
	width: 350px;
	background: #fff;
}

div.auto_complete ul
{
	border:1px solid #888;
	margin:0;
	padding:0;
	width:100%;
	list-style-types:none;
}

div.auto_complete ul li
{
	margin:0;
	padding:3px;
}

div.auto_complete ul li.selected
{
	background-color: #ffb;
}

div.auto_complete ul strong.highlight
{
	color: #800;
	margin:0;
	padding:0;
}
</style>

<input autocomplete="off" id="contact_name" name="vorname" size="30" type="text" value="" />
<div class="auto_complete" id="contact_name_auto_complete"></div>
<script type="text/javascript">new Ajax.Autocompleter('contact_name','contact_name_auto_complete', 'autocomplete.php', {})</script>
</body>
</html>

Hoffe auf Hilfe


Ich denke es wird irgendwo an den JS datein liegen...

<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="scriptaculous.js"></script>

Sie sind da... aber irgendwie werden sie wohl nicht eingebunden. Keine ahnung warum...
 
Zuletzt bearbeitet:
So, kam schon etwas weiter...

nun hab ich noch was in erfahrung bringen können.
"Ajax.Autocompleter is not a constructor"

Wer kann damit was anfangen?

Handelt sich also um diese Zeile

HTML:
<script type="text/javascript">new Ajax.Autocompleter('contact_name','contact_name_auto_complete', 'autocomplete.php', {})</script>
 
Bist du sicher, dass die Pfade zu den Skripten und zu der autocomplete.php stimmen?
Die Fehlermeldung deutet zumindest darauf hin, dass die Skripte nicht gefunden werden, sonst wäre Ajax.Autocompleter bekannt.
 
Ja 100%.

Hab im Anhang die Daten mit JS Datein.
 

Anhänge

  • autocomp.zip
    29,3 KB · Aufrufe: 72
Die prototype.js ist fehlerhaft bei dir, und bei der scriptaculous.js....diese benötigt weitere JS-Dateien(effects.js,controls.js), ich weiss jetzt nicht, ob du die bei dir hast.

Ich hab dir mal alles zusammengepackt, die autocomplete.php hab ich auch ein wenig optimiert ;)
 

Anhänge

  • Crav3X.zip
    51,3 KB · Aufrufe: 294
Ansich ja ne coole Sache, nur wie bekomme ich das Ganze datenbankversiert?

habe folgenden Code:

PHP:
<?php
include_once 'includes/config.php';

if(isset($_REQUEST['vorname']) && !empty($_REQUEST['vorname']))
  { 
  	$werte=array();
  	$sql=mysql_query("SELECT username FROM empfaenger");
 	while ($werte=mysql_fetch_assoc($sql))
 	{
    echo '<ul>'.implode('',preg_replace('|(.+)|e',"'<li>'.htmlentities('$1').'</li>'",preg_grep('|^'.preg_quote(trim($_REQUEST['vorname'])).'|i',$werte['username']))).'</ul>';
 	}
  }    
?>
passt nur iwie net... heul

ich brauch das so dringend...

Den Rest, habe ich aus dem vorhandenen Zip Ordner hier, das passt und geht alles - nur halt net mit DB:(
 
Zurück