[gelöst] Autocompleter in geladenem Ajax-Div

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [gelöst] Autocompleter in geladenem Ajax-Div

    Hallo Forum

    Ich benutze den Autocompleter vo Scriptaculous. Ich habe das auch schon hinbekommen. Jetzt lade ich allerdings eine dynamische PHP-Seite in einen Div (per prototype). Diese Seite die in den Div geladen wird enthält solche autocompleter. Allerdings funktionieren diese nicht in diesem mit prototype geladenen Div. Wieso? Und wie kann ich das ändern?

    Es wird gar nicht erst ein Request ausgelöst beim drücken einer Taste (firebug).

    Code:
    <li><input type="text" autocomplete="off" name="lang[]" id="lang1" style="width:150px;" />
    			<div id="lang1update" class="autosel" style="display:none;"></div>
    			<script type="text/javascript" language="javascript" charset="utf-8">
    			// <![CDATA[
    			  new Ajax.Autocompleter('lang1','lang1update','_autocomplete_result.html');
    			// ]]>
    			</script></li>
    Das wird per Ajax.Request() Methode in den Div geladen.
    Zuletzt geändert von pascal007; 15.10.2009, 19:35.

  • #2
    Was sollen die Backslashes beim Type-Attribut?
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Die sind drin weil ich das ganze in einem echo habe wegen der PHP-Seite, hab die vergessen weg zu nehmen als ich den Code für das Forum hier aufbereited habe. An dem kanns also nicht liegen .

      Kommentar


      • #4
        Hallo Pascal,

        ich kenne diese Scriptaculous-Lib leider nicht, daher muss ich mal dumm fragen: wenn du dort das proprietäre Attribut autocomplete="off" setzt, könnte das nicht vielleicht der Grund sein?

        Gruß,

        Amica
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Nein, das muss eben genau sein. Das verhindert nur das der browserinterne Autocomplete abgeschaltet ist. Weil ich selbst einen Div mit meinen Autocomplete-Inhalt der dann eingeblendet wird.

          Also den Code den ich gepostet habe funktioniert auf einer normalen Seite. Aber eben wenn ich den Code per Ajax.Request() in ein Div lade, geht er nicht.

          Kommentar


          • #6
            Und was genau funktioniert dann nicht? Kein Inhalt, Fehlermeldung, sonstiges?

            Wenn z. B. kein Inhalt ankommt, kann das daran liegen, dass die respon************ML Eigenschaft leer ist, wenn der Content-Type kein XML-Typ ist.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Es wird nicht mal ein Request an mein Script gesendet dass den Inhalt für den Autocomplete-Div liefern soll. Normalerweise sollte immer wenn eine Taste gedrückt wird ein Request gesendet werden.

              Fehler gibt es keinen, es passiert einfach nichts.

              Kommentar


              • #8
                Irgendeine Funktion aus dieser Library muss sich doch an einen Tastaturevent binden. Da du schon Firebug erwähnt hast, sollte es doch recht einfach sein, da mal mit Breakpoints ranzugehen und dann im Einzelschrittmodus nachsehen, wo es hängt.
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Kommentar


                • #9
                  Du hast vermutlich das ganz übliche AJAX-Problem - dass SCRIPT-Bereiche in nachgeladenem und dann ins DOM eingepflanztem HTML nicht interpretiert und ihr Inhalt ausgeführt werden ...

                  Entweder muss man sich den Code rausfischen und per eval ausführen, oder man erzeugt ein neues SCRIPT-Element, und hängt es im HEAD ein.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Das mit "in den head einplantzen" tönt sehr interessant. Ja es ist so... durch das laden des Divs wird natürlich auch den JS -Teil von oben in diesen div per Ajax.Request geladen. In diesem Fall ist der JS Code also nicht ausführbar wie ich das verstanden habe. Kannst du mir erklären wie man den JS Code ausführbar macht der per dynamischem Div geladen wurde.. oder ein Tut würd mir auch schon genügen.



                    EDIT: Habs herausbekommen. Einfach evalScripts: true vor, oder nach method: 'post'/'get' des Ajax.Requests einfügen und schon wird JS aus dem Response ausgeführt . Danke euch für die Hilfe .
                    Zuletzt geändert von pascal007; 18.10.2009, 19:26.

                    Kommentar

                    Lädt...
                    X