Ajax.Updater (dropDown generierung)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ajax.Updater (dropDown generierung)

    Folgendes :
    Es geht um ein DropDown das mit Ajax generiert wird.
    Dieses DropDown zeigt registrierte und unregistrierte Personen aus einer Datenbank.
    Über einen Link wird das Ding refreshed und gleichzeitig die selektierte Person in der db registriert oder (falls schon registriert) wieder entfernt.

    Ich hab 2 Files
    einmal die js mit der Function :
    ganz normaler Ajax.Updater, der das angegeben elemet refresht anhand von parametern.

    Quellcode

    1. function ajax_updater(url, pars, element)
    2. {
    3. var myAjax = new Ajax.Updater(
    4. element,
    5. url,
    6. {
    7. method: 'get',
    8. parameters: pars,
    9. evalScripts: true
    10. }
    11. );
    12. }
    Alles anzeigen


    ich hab die php datei event.php, die ahand einer switch(true)
    den jeweiligen Bereich für das angegebene Ajax Object wiedergibt :

    gekürzter Auszug:

    Quellcode

    1. header('content-type: text/xml; charset=iso-8859-1');
    2. /* Verbindung zu Datenbanken aufbauen */
    3. db_connect( $sql_server );
    4. include("do.php");
    5. switch(true)
    6. {
    7. case $_REQUEST['gen_dropDown'] :
    8. echo "<select>\n" . gen_Anspp_Options() . "</select>\n";
    9. }
    Alles anzeigen


    Aufrufen tu ich das ganze über :

    Quellcode

    1. <a href="javascript:void(0);" onClick="ajax_updater('event.php', 'dropDown=true', 'anspp');">Generate</a>
    2. <div id="anspp"></div>


    Folgender Ablauf :
    1. Click auf "Generate"
    2. event.php wird abgearbeitet, dabei wird die do.php aufgerufen, die die sql action "registrieren oder entfernen" ausführt.
    Danach erst wird die switch(true) ausgeführt, die das dropdown mit dem aktuellen Tabellenstand der DB generiert.
    3. Das dropdown wird in der DIV "anspp" ausgeben.
    Am PHP ist also nix faul!

    Es funktioniert auch einwandfrei. Die Div wird refreshed beim ersten Click.
    Die Person wird registriert, im Dropdown rot markiert als "registered".
    Bei den weiteren Clicks wird die DIV aber nichtmehr korrekt refreshed.
    In etwa so wie als würde der erste aufruf von event.php in den cache wandern und bei allen weiteren aufrufen darauf zugegriffen wird ohne die neue Anfrage korrekt auszugeben.

    Ich vermute das ist ne ganz kleine Sache die da falsch läuft.
    Ich code schon wieder soviel die letzten monate, das ich es einfach nicht auf die reihe bekomme momentan. Vielleicht weiss einer von euch was.

    Gruß
    Tom