Aufrufen eines Layers der mit hidden abgeschaltet ist

  • Alles im gleichen Quellcode!

    Code
    1. <script type="text/javascript">
    2. function showLayer(sel_frame) {
    3. document.getElementById(sel_frame).style.visibility = "visible";
    4. }
    5. function hideLayer(sel_frame) {
    6. document.getElementById(sel_frame).style.visibility = "hidden";
    7. }
    8. </script>

    funktioniert einwandfrei:

    Code
    1. <HTML>
    2. <input class="EintrLoesch" type="button" name="loesch" value="Delete Dataset" onclick="javascript:showLayer('frame_9')">
    3. <input class="Clear" type="button" name="Submit" value="new Objekt" onclick="javascript:showLayer('frame_10')">
    4. <input class="Logout" type="button" name="logout" value="Logout" onclick="javascript:showLayer('frame_11')">

    Mit einer vorherigen Abfrage jedoch nicht:

    Habe mal statt dessen ein Alert-Fenster eingesetzt, das funktioniert einwandfrei!

    Die Formatierung ist identisch mit den frame_9 ..10 ..11 hidden


    Würde mich freuen, wenn mir hier jemand einen Tipp geben könnte wie ich erreiche das beim Öffnen der Seite, bei Erfüllung des $_GET ['mod'] der Layer angezeigt wird

  • Der Grund, dass es nicht funktioniert, ist, dass das Javascript vor dem HTML-Element steht, d. h. wenn es ausgeführt wird, ist das Element noch nicht vorhanden.

    Mehrere Lösungen:


    1. Das Javascript hinter das HTML-Element platzieren.


    2. Ohne Javascript: Den Wert von visibility oben im PHP definieren und dann im HTML einfügen:

    PHP
    1. <?php
    2. $frame_200_visi = 'hidden';
    3. $frame_201_visi = 'hidden':
    4. if((isset($_GET['mod'])) && (($_GET['mod']) == "m")){
    5. $frame_200_visi = 'visible';
    6. }elseif((isset($_GET['mod'])) && (($_GET['mod']) == "n")){
    7. $frame_201_visi = 'visible';
    8. }
    9. ?>
    10. <div id="frame_200" style="visibility:<?php echo $frame_200_visi; ?>"> <!-- "m" Confirm record modified --

    Für #frame_201 dann das gleiche.


    3. Ebenfalls ohne Javascript: Eine Klasse, z. B. "visi" im PHP setzen, im HTML hinzu fügen und mit CSS die Sichtbarkeit steuern.