Beiträge: 42
Themen: 6
Registriert seit: 25.01.2013
Hi!
Beim Eingeben des EMpfängers beim Erstellen einer privaten Nachricht, werden ja Vorschläge angezeigt. Ich würde gerne genau das gleiche bei einem meiner Plugins machen - Und zwar genau das gleiche - Aber weiß nicht, wie ich es am besten machen sollte.
Die Mitglieder zu "queryn" ist einfach:
Code:
$query = "SELECT `username` FROM `".TABLE_PREFIX."users` WHERE `username` LIKE '{$startstring}%'";
$result = $db->query($query);
$r = array();
while(($re = $db->fetch_array($result)) != null){
array_push($r, $re);
}
Das ganze dann noch per JSON verpacken, und dann mit AJAX requesten. Das was ich aber gerne wüsste, ist wie das mit der Anzeige gemacht wird. Ich könnte natürlich ein fixed-html-element beim ajax-callback einfügen; Allerdings müsste ich dann alles selbst machen, auch die buttons. Wie ist das bei MyBB gemacht worden?
MfG
Beiträge: 25.766
Themen: 269
Registriert seit: 20.09.2005
Code:
<script type="text/javascript" src="jscripts/autocomplete.js?ver=1400"></script>
<script type="text/javascript">
<!--
if(use_xmlhttprequest == "1")
{
new autoComplete("FELD", "xmlhttp.php?action=get_users", {valueSpan: "username"});
}
// -->
</script>
Bei FELD die ID des passenden Eingabefeldes einsetzen, fertig.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 42
Themen: 6
Registriert seit: 25.01.2013
26.07.2013, 15:04
(Dieser Beitrag wurde zuletzt bearbeitet: 26.07.2013, 15:17 von Javatic.)
Wow, vielen Dank! Wird sofort versucht
!
Ich stelle mich grad irgendwie bescheuert an, irgend will es nämlich nicht richtig o.o ...
Mein Input-Feld sieht so aus:
Code:
<input id="g_un" type="text" placeholder="Benutzernamen eingeben..."/>
(Hab' auch schon versuch ein autocomplete="off" dranzuhängen)
Das JS-Skript habe ich im Header eingefügt; Probleme gabs keine, und in der Console steht auch kein Fehler. Nur werden die BenutzerNamen eben nicht angezeigt
...
("FELD" natürlich mit "g_un" ersetzt)
(Auch schon 'ne Textarea versucht; Sogar mit dem fast-genauen code aus der generierten PN Seite... Also irgendwie stelle ich mich wirklich blöd an Oo)
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Ich habe die autocomplete-Fkt. mal für das Tagging-Plugin umgesetzt. Du kannst Dir
hier gerne mal ansehen, wie das umgesetzt wird...
Beiträge: 42
Themen: 6
Registriert seit: 25.01.2013
26.07.2013, 15:41
(Dieser Beitrag wurde zuletzt bearbeitet: 26.07.2013, 15:48 von Javatic.)
Leider gibt mybb.com zurzeit eine 502-Error aus
...
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Der Anhang in dem von mir verlinkten Beitrag verweist doch gar nicht auf mybb.com!?
Beiträge: 42
Themen: 6
Registriert seit: 25.01.2013
Hoppla, sorry! Dachte der Post obendrüber war gemeint - Also das Plugin, und nicht die Mod.
Habe nun einen Teil meines Fehlers entdeckt: Ich habe "general.js" und "prototyp.js" nicht eingefügt gehabt. Da es allerdings immer noch nicht funktioniert hat, habe ich in autocomplete etwas umgedändert, so dass ich eine alert bekomme, wenn er die textbox nicht erkennt:
Code:
if(!$(textbox))
{
alert("...");
return false;
}
Und komischerweise bekomme ich diese Meldung...
Obwohl mein Input richtig aussieht, und ich die 2-js codezeilen angepasst hatte.
LG
Beiträge: 25.766
Themen: 269
Registriert seit: 20.09.2005
Ich würde ihn hinter dem Eingabefeld (ob direkt oder erst deutlich später, ist egal). Ansonsten könnte es passieren, dass das Feld beim Initialisieren noch gar nicht exisitert.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Kannst Du evtl. etwas mehr an Infos bzgl. Deiner Code- und Templateanpassungen veröffentlichen, damit man sich ein besseres Bild davon machen kann? Nützlich könnte auch ein Link zu Deiner Seite sein, auf der man sich die Funktion mal ansehen kann....
Beiträge: 42
Themen: 6
Registriert seit: 25.01.2013
@StefanT
Vielen Dank, jetzt gehts
! Theoretisch hätte ich den Code doch auch einfach in eine Funktion schreiben können, und diese beim laden aufrufen - Oder?
@Jockl
Link zur Seite geht leider nicht, da ich zurzeit alles lokal per XAMPP mache - Aber Code kann ich sobald wieder mal etwas nicht klappt gerne veröffentlichen
.
LG
Ein Fehler bleibt... Sobald ich prototype.js einfüge, was ja der Fall sein muss, funktioniert jQuerys SElector nicht mehr Oo?! Es wird dann immer "null" zurückgegeben...