Verzweifle an Fehlermeldung: Cannot read property 'style' of null

  • Hallo liebe Commuity,


    Ich sitze seit drei Tagen an einer Fehlermeldung und komme einfach nicht weiter.

    Und zwar möchte ich ein PopUp Fenster erstellen in dem man verschiedene(DURCH PARAMETER) übergebene Personen auswählen kann.
    Und wenn man auf den OK Button klickt sollen diese übergeben werden.

    Soweit so Gut, doch jedes mal wenn (onclick='ClosePopUp("+popup+")') im Tag des Buttons aufgerufen wird bekomme ich folgende Fehlermeldung:



    Cannot read property 'style' of null

    at ClosePopUp (ZeitplanerS.php:78)

    at HTMLButtonElement.onclick (ZeitplanerS.php:1)

    ClosePopUp @ ZeitplanerS.php:78

    onclick @ ZeitplanerS.php:1


    Ich währe euch wrklich sehr Dankbar wenn mir jemand dabei helfen könnte.


    mfG mamo1234



  • wenn ich zeile 26 lösche ist der fehler weg .

    vieleicht liegt es daran das du oben popup klein schreibst und unten dann gross übergibst PopUp.


    konnte das jetzt nicht alles nachbauen und testen weil da fehlt ja einiges ,aber ich könnte mir das so vorstellen.aber ich sage immer ich bin noch in ausbildung.


    zeile 5 var PersonenPopUpdHintergrund = document.createElement("div");

    fehlt da nicht ein" l "vor PersonenPopUpdHintergrund




    zeile 20 = meines wissens fängt man <form> an und am ende </form>.

    du hast das vertauscht:)

  • Ja, da waren etliche Fehler in dem Code. Das Kernproblem ist jedoch, dass an ClosePopUp() ein String übergeben werden muss. Mit dem vorhandenen Code sah das generierte HTML so aus:

    Code
    <button onclick='ClosePopUp(PersonenPopUp)'

    So erwartet Javascript. dass PersonenPopUp eine Variable ist, die es jedoch nicht gibt. Man muss PersonenPopUp in doppelte Hochkommas setzen, so dass das generierte HTML so aussieht:

    Code
    <button onclick='ClosePopUp("PersonenPopUp")'

    Das erreicht man durch dieses Javascript:

    Code
    <button onclick='ClosePopUp(\"" + popup + "\")' type=

    Dieses funktioniert:

    Außerdem:

    • Die Verwendung einer Variablen für die ID ist überflüssig, da die ID ohnehin konstant ist.
    • Den Parameter Personenanzahl kann man einsparen, wenn man die Anzahl aus dem Array über Personennamen.length ermittelt.
    • Die Indizierung im Array besser mit 0 beginnen.
    • Wenn der Button die Funktion des Submit haben soll, wird die Seite ohnehin neu geladen und das Popup verschwindet.
  • Code
    onclick='ClosePopUp("+popup+")'

    mist !! ich wusste das da was nicht stimmt,traute es mir nur nicht zu sagen .ich hätte es aber auch nicht so gut erklären können wie du es gemacht hast,da hättich mir wieder ein abgebrochen bei:(

  • basti1012

    Danke für deine Antwort ;)


    Ja aber das Problem ist dass, es um die Zeile 26 geht, ich weis nich twie ich das PopUp sonst schließen könnte.
    Den statt ....style.width='600px' sollte da style.display='none' stehen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!