Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP Javascript onload - getElementById() findet Elemente nicht

Einklappen

Neue Werbung 2019

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

  • PHP Javascript onload - getElementById() findet Elemente nicht

    Ziel: Eine grosse PHP Seite soll nach dem Aufruf auf ein bestimmtes
    Element gescrollt werden. Das geht mit JS - element.scrollIntoView().
    Das Problem: Javascript onload findet das document (und auch eine form darin)
    aber nicht die Elemente.





    <!DOCTYPE HTML ....
    ...
    <body onload="javaScriptFunction()">
    <script type="text/javascript">
    function javaScriptFunction()
    {
    alert("JS called");
    var ele = document.getElementById('SelectID2');
    if (ele != null)
    {
    alert("ele found");
    }
    ele.scrollIntoView();
    }
    </script>

    <?php
    //----------- Hier die PHP Seite -------------------------
    .......
    //So funktioniert es, die Elemente werden gefunden, called by onchange
    echo '<select id="SelectID1".... onchange="javaScriptFunction();" >';
    ..............
    ..............
    //So wie untenstehend geht es leider nicht, die JS Funktion wird zwar aufgerufen, document gefunden, die Elemente nicht
    //dieser Teil direkt vor </body>
    echo '<script type="text/javascript">';
    echo 'javaScriptFunction();';
    echo '</script>';
    ?>
    </body>

    Bei einem Aufruf der JS-Funktion aus onchange werden alle Elemente der Seite gefunden.
    Ich habe ein Timing Problem vermutet (erst nach Aufbau der PHP Seite sind die ID's bekannt)
    und habe deshalb den Aufruf direkt vor </body> gesetzt.
    Das löst aber leider das Problem nicht.

    Ein weiterer Versuch mit onload:
    <body onload="javaScriptFunction()">
    Die Funktion wird nach dem Seitenaufbau aufgerufen. document wird gefunden, form wird gefunden,
    values innerhalb der Form auch, aber nicht die Elemente mit den ID's 'SelectID1' 'SelectID2' 'SelectID3' .............

    Kann mir jemand weiterhelfen? Danke für eure Unterstützung.


    Problem hat sich nach langem (stunden-tagelangem) Probieren von selbst gelöst, Ursache unbekannt.
    Sorry für ins Netz stellen.

  • #2
    ele = document.getElementById('SelectID2');
    <select id="SelectId1"....
    liegts daran?

    Kommentar


    • #3
      Danke für den Hinweis. Es liegt nicht daran, SelectID2 ist nur ein Beispiel, es hat zahlreiche SelectID1, SelectID2, SelectID3, SelectID4 ..............
      Komischerweise geht es jetzt nach stundenlangen (tagelangem) Probieren, keine Ahnung weshalb es jetzt geht, keine Ahnung weshalb es vorher nicht ging.

      Kommentar


      • #4
        Um es noch deutlicher zu machen:
        ele = document.getElementById('SelectID2');
        <select id="SelectId1"....
        :P

        und
        <body onload="javaScriptFunction()">

        <select onchange="javaScriptFunction();">

        echo 'javaScriptFunction();';
        Ruft die Funktion zweimal beim Seite initialisieren auf und jedesmal, wenn du ein neues Element auswählst

        Kommentar


        • #5
          Entschuldige die späte Antwort. Das mit dem SelectID1 bzw. SelectId1 ist ein Schreibfehler im Forum, nicht im Programm.
          Die Funktion wird jeweils beim Seite initialisieren aufgerufen.

          Kommentar


          • #6
            Kopiere nächstes mal bitte den Code, sonst wird das alles nur noch schlimmer, wenn wir auch noch Schreibfehler im Forum berücksichtigen müssen.

            Kommentar

            Lädt...
            X