Elmi: Daten zu Webseite im Hintergrund hinzuladen

Hi,

ich habe hier ein Problem, zu dem ich mir folgendes vorstelle:

Eine Webseite zeigt derzeit eine Combobox an, zu dieser Combobox gehört ein Eingabefeld, in das ein freier Text eingegeben werden kann.

Jetzt möchte ich erreichen, das so bald jemand einen Eintrag aus der Combobox ausgewählt hat, eine Auswahl an möglichen vordefinierten Texten angezeigt wird, die - wenn gewünscht - in das Eingabefeld übernommen werden können.

Der erste Haken: diese vordefinierten Texte kommen abhängig von dem in der Combobox gewählten Eintrag aus einer Datenbank, es sind zu viele um sie schon in das HTML-Dokument zu integrieren.

Der zweite Haken: nach Auswahl des Comboboxeintrages soll die Seite NICHT neu geladen werden, vielmehr soll die DB-Abfrage und das Zurücksenden der neuen Daten im Hintergrund geschehen, die vodefinierten Texte sollen also zum bestehenden Dokument dazugeladen werden.

Meine (gaaaanz simple ;-) Frage deswegen: wie realisiert man sowas? Was die PHP- und Datenbankseite angeht ist alles gelöst, ich möchte "nur" wissen wie das Dazuladen von Daten funktioniert.

Elmi

  1. Mahlzeit,

    Meine (gaaaanz simple ;-) Frage deswegen: wie realisiert man sowas? Was die PHP- und Datenbankseite angeht ist alles gelöst, ich möchte "nur" wissen wie das Dazuladen von Daten funktioniert.

    Per AJAX. Will sagen: beim Auslösen des "onchange"-Events des <select>-Elements wird mittels Javascript ein Request auf die von Dir genannte PHP-Seite (oder auch eine andere) gemacht und der Wert des <select>-Elements übergeben. Anhand des Wertes sucht die PHP-Seite die passenden Einträge aus der Datenbank heraus und gibt sie in irgendeiner Form (meist XML) zurück. Das Javascript verarbeitet dann die zurückgegebenen Werte und fügt sie z.B. in irgendeiner Form in den DOM-Baum hinein.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Auch Mahlzeit,

      Danke für die Tipps, so langsam komme ich der Sache wohl näher...

      Per AJAX. Will sagen: beim Auslösen des "onchange"-Events des <select>-Elements wird mittels Javascript ein Request auf die von Dir genannte PHP-Seite (oder auch eine andere) gemacht

      Das klingt interessant: ich kann tatsächlich mit einer JavaScript-Funktion einen URL aufrufen und erhalte die zurückgelieferten Daten dann in einer Variablen zurück?

      Welche Funktion ist das?

      Wie du siehts ist JavaScript wirklich nicht meins, ich bin eigentlich in anderen Welten zu Hause :-)

      Thx!

      Elmi

      1. Mahlzeit,

        Per AJAX. Will sagen: beim Auslösen des "onchange"-Events des <select>-Elements wird mittels Javascript ein Request auf die von Dir genannte PHP-Seite (oder auch eine andere) gemacht

        Das klingt interessant: ich kann tatsächlich mit einer JavaScript-Funktion einen URL aufrufen und erhalte die zurückgelieferten Daten dann in einer Variablen zurück?

        Mit dem von suit genannten "XMLHttpRequest". Einfach benutzbar ist das z.B. mittels Frameworks wie Prototype oder jQuery.

        Welche Funktion ist das?

        So einfach ist das leider nicht ...

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. So einfach ist das leider nicht ...

          Schade eigentlich...aber ich werde mir jQuery mal reinziehen - schon weil es kleiner ist :-)

          Danke für die Hilfe!

          1. Doch, ist ganz einfach, und zwar mit Xajax: www.xajaxproject.org

            Gruß,
            Manu

  2. Meine (gaaaanz simple ;-) Frage deswegen: wie realisiert man sowas? [...], ich möchte "nur" wissen wie das Dazuladen von Daten funktioniert.

    damit du auch etwas zum denken und suchen hast:

    stichworte
    javascript xmlhttprequest
    (zum erstellen eine anfrage an ein script, welches die datenbank befrägt - dies hast du ja schon)
    javascript innerhtml
    (zum einfügen von code/test in ein bestehendes html element)
    javascript appendchild
    (zum hinzufügen von knoten im DOM)