Verwendung von Javascript in einer per Ajax erzeugten Seite

  • Hallo,


    per ajax lade ich in ein div eine Seite...funktioniert auch alles. In dieser Seite möchte ich nun wieder javascript benutzen. jedoch funktioniert das nicht. wenn ich in der erzeugten seite nur ein alert('hallo') reinschreibe, dann wird mir das nicht angezeigt. warum funktioniert das so nicht?

  • ich benutze mootools... hab mir dort nur mal ein demo angesehen



    in der blabla.html steht u.a. drin:

    Code
    1. <script type="text/javascript">
    2. alert('hallo');
    3. </script>


    ich bekomme aber kein alert fenster angezeigt. auch nicht wenn ich window.addevent('domready',function(){
    alert('hallo');
    })


    benutze.

  • Hallo Ingo,


    ganz klappt es doch noch nicht... vielleicht könntest du mir nochmal einen Rat geben. Die in der jsonservice.php erzeugten Links, sollten beim überfahren eine alert-box auslösen, jedoch klappt das leider nicht.hier mal meine Dateien:



    jsonservice.php

  • das das überhaupt klappt ist ein Wunder, was Du da in jsonservice machst ist ja abenteuerlich.


    mach in json eine methode:


    Code
    1. bla: function() {
    2. var a = $$('.bla');
    3. a.each(function(el){
    4. el.addEvent('mouseenter',function(){
    5. alert('klappt');
    6. })
    7. }),


    und ruf die in onComplete auf.

  • hi steffen,


    das war auch nur ein test. hatte ein tut gefunden und es etwas verändert.


    deine möglichkeit funktioniert.... mein problem, ich möchte die tooltips von mootols benutzen. wenn ich die auf das mouseenter-event anwenden will, dann wird beim ersten drüberfahren nix angezeigt. erst wenn ich erneut über den link gehe klappt es. ich weiss nicht ob es damit zusammenhängt, das innerhalb der tooltips schon das event mouseenter benutzt wird.

  • ok... jetzt geht alles.


    habe für onComplete eine function, die diese Tooltips anzeigt. Leider geht es nur im FF und nicht im IE6 oder IE7. ich habe ja nur das plugin aus mootools eingebunden.


    als fehler kommt immer bezeichner, zeichenfolge oder zahl erwartet...

  • hallo Steffen,


    du hattest ja vorhin geschrieben, das es ein wunder ist, das das alles klappt, wasi n der jsonservice.php drin steht. wie wäre es denn besser? bzw. wie löst man solche dinge, wie das mit dem link? ich will ja nach dem ajax-request die id mit einem link ersetzen.

  • naja, ohne Dir jetzt ein komplettes Script zu liefern:


    Du solltest es besser strukturieren. D.h. bau Dir Objekte / Klassen. Dann machst Du eine window.addEvent('domready',RegisterObject); In diesem Register.Object hast Du all Deine Eventlistener drin.
    Das hat den Vorteil, das Du nach Aktualisierung die Funktion aufrufen kannst und alle Listener wieder initialisiert sind.


    onclick="..." sollte man grundsätzlich vermeiden, dafür gibts ja die Eventlistener.


    Schau mal in meinen Prototype Workshop, da wird es so gemacht (Prinzip ist das gleiche).


    In Deiner jsonservice.php gibts einige Fragezeichen, was soll
    $jsonRequest = $json->decode(file_get_contents('php://input')); ? Ich seh nicht das Du irgendwo was übergibst.
    In dem nächsten beitrag im Workshop geh ich auf JSON-Techniken ein, das könnter Dir helfen.