• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

jQuery UI Autocomplete Error

precoc

New member
jQuery v1.9.1
jQuery UI v1.10.3

Hallo,
ich bin gerade dabei jQuery zu lernen. Dabei folge ich zur Zeit einem Tutorial aus dem Jahr 2011.
Ich habe ein Textfeld, das ich per jQuery UI und Autocomplete ergänzen möchte.
In dieses Textfeld soll man "Worte" eingeben können, welche von jQuery UI Autocomplete ergänzt werden. Der Array, mit den Worten, soll von einer php Datei kommen. Per Ajax sollen die Daten ausgetauscht werden.
Dies ist der HTML Code (geschnitten)
PHP:
<div id="betreff_show" class="group">
				Betreff: <input type="text" id="betreff"/>
				</div>
Dies ist der jQuery UI Code (geschnitten)
PHP:
//Autocomplete 
				$('#betreff').autocomplete({
					source: function(request, response){
						$.getJSON('../server/autocomplete.php',request, function(data){ 
							response(data);
						});
					}
				});
Dies ist das php Script autocomplete.php
PHP:
$betreff = array(
		"Hallo",
		"Hi",
		"Hey",
		"huhu",
		"Hoppla...",
		"Hä",
		"Heute schon was vor?",
		"Hunger"
	);
	echo json_encode($betreff);

Im Tutorial funktioniert das super, nur wen ich versuche es nach zu machen, dann bekomme ich nicht das gewünschte Ergebniss. Mit Firebug kann man folgenden Error Code erkennen.
Ich denke ich habe einfach nur etwas vergessen, was man 2011 noch nicht beachten musste, da die Versionen seit dem sich vielfach geändert haben.
Siehe Bild, folgend:
Anhang anzeigen 4103

Ich würde mich sehr freuen wenn ihr mir helfen könnt! Damit ich morgen weitermachen kann.

Vielen Dank schon mal !

LG
 
Das Bild funktioniert nicht... Kannst du es noch einmal hochladen.

Was liefert denn das PHP Skript, wenn du es direkt im Browser aufrufst?
 
also das php script liefert ["Hallo","Hi","Hey","huhu","Hoppla...","Heute schon was vor?","Hunger"] quasi alles im json format .und das bild
error_autocomplete.PNG
 
Warum tritt der Fehler bei jquery...custom.js auf? Hast du in den Quellcode eingegriffen?
Oder kann es daran liegen, dass dein Input Feld weder ein value noch ein label Attribut besitzt?
Hast du mal versucht, ein value zu ergänzen?
 
nein ich habe nicht in den code von jquery..custom eingegriffen, ist alles so geblieben wies vorher war! Jetzt habe ich noch zusätzlich ein Label und ein standart value wert gesetzt, funtkioniert aber immer noch nicht :(
 
Jetzt das komische, schreibe ich für das autocomplete eine komplett neue datei, allerdings mit dem selben code, dann funktionierts! Nur nich in der Datei wo ichs haben will :(
 
beide Dateien sehen jetzt exakt gleich aus, haben beide halt nur nen anderen namen, liegen beide im selben verzeichniss und greifen beide auf das selbe php script zu, die eine funktioniert, die andere nicht.
index.php funktioniert nicht und test.php funktioniert... kann sich das einer erklären?
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
	<title>Dating Portal</title>
	<link href="css/ui-lightness/jquery-ui-1.10.3.custom.css" rel="stylesheet">
	<style type="text/css">
	
	</style>
	<script src="js/jquery-1.9.1.js"></script>
	<script src="js/jquery-ui-1.10.3.custom.js"></script>
	<script type="text/javascript">
	// <![CDATA[
$(document).ready(function(){
//START
	
    $( "#betreff" ).autocomplete({
      source: '../server/autocomplete.php'
    });

//END
});           
	//]]>	
	</script>
</head>
<body>
	<div class="ui-widget">
  <label for="tags">Tags: </label>
  <input id="betreff" />
</div>
	
</body>
</html>
 
nein, jetzt kommt kein fehler mehr, der ajax austausch funktioniert bei beiden datein einwandfrei, nur bei meinen gehts beim anderen nicht.
 
Was heißt, es geht oder es geht nicht?
Und ich sehe im letzten Code auch noch kein value Attribut im input Tag. Wie willst du das Feld denn benutzen, wenn es kein value Attribut besitzt?
 
Zuletzt bearbeitet:
Also das Script der index.php mit dem oben angegebenen Code funktioniert nicht, kein Error , und auch keine Autocomplete anzeige. Label und Value müssen nicht vorher angegeben werden, da der Value durch die Benutzereingabe kommt.
Gleicher Code der auch in der index.php steht ist nun auch in einer neuen datei test.php, dort funktioniert der autocomplete.
Warum?
zwei dateien, zwei mal der selbe code, zwei mal das selbe verzeichniss, aber nur ein funktioniert. Ich weiß echt nich wie ich das noch anders erklären soll ...
 
Es muss einen Unterschied zwischen den Dateien geben.
Kannst du mal einen URL zu beiden Dateien geben.
 
Zuletzt bearbeitet:
gibts aber nicht, das ist ja das problem! der einzige unterschied ist, die eine datei heißt index.php und die andere test.php...
 
Im Router und FW Port 80 auf machen und mir IP mailen.
Sonst mach einen anderen Vorschlag. Aber wenn du sagst, die Dateien sind identisch, wie sollen wir das prüfen?
Ist es ein Linux, dann vielleicht noch Dateirechte oder -besitz?
 
so hab jetzt die index.php gelöscht und einfach ne neue erstellt, jetzt funktioniert.. war wohl irgendwas am data header der index.php murks ..
aber danke für eure hilfe!
 
Wenn ich hier kurz noch die (vermutliche) Lösung zur Erklärung für andere User anbringen darf:
Ich bin mir ziemlich sicher, dass es sich hierbei um ein Problem mit unsichtbaren Zeichen gehandelt hat. Das klingt nämlich stark nach dem Fall, den wir hier hatten...
 
Zurück
Oben