Problem mit JS / jQuery

  • PHP

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Manü.

    Problem mit JS / jQuery

    Hi, also nutze jQuery um mir mein Inhalt dynamisch in die "Hauptseite" reinzuladen. Dies funktioniert auch soweit innerhalb des normalen Html's. Jedoch frage ich mittels PHP ab ob eine Bedingung erfüllt ist und wenn ja dann soll er 2 "Button's" hinzufügen. Auch diese verwenden jQuery (onClick-Event). Leider funktioniert es bei diesen 2 Button's nicht.

    Hier der Code:

    PHP-Quellcode

    1. <button onclick="cload('datei.php')" type="button" class="css3button">inhalt1</button>
    2. <button onclick="cload('datei2.php')" type="button" class="css3button"> inhalt2</button>
    3. <button onclick="cload('datei3.php')" type="button" class="css3button">inhalt3</button>
    4. <?php
    5. if ($rechte >= "5")
    6. {
    7. echo '
    8. <button onclick="cload("datei4.php")" type="button" class="css3button">inhalt4</button>
    9. <button onclick="cload("datei5.php")" type="button" class="css3button">inhalt5 </button>
    10. ';
    11. }
    12. ?>


    Quellcode

    1. <script>
    2. function cload(file) { $("#target").load(file);}
    3. </script>


    Wie gesagt alle Seiten können aufgerufen werden außer Seite 4 und 5 (Die Button's werden auch erst angezeigt wenn $rechte die bedingung erfüllt aber leider ohne funktion). Woran kann das liegen?

    Edit: Die Mozilla Fehlerkonsole spuckt keine Fehler aus.

    Danke schonmal im Vorraus für die Hilfe

    Mfg
    max
    Hallo,

    könntest du den ausgegebenen Quellcode schicken, vielleicht hast du mit den Anführungszeichen ein bisschen vertan.

    Bei mir hat das das ausgegeben:

    HTML-Quellcode

    1. <button onclick="cload('datei.php')" type="button" class="css3button">inhalt1</button>
    2. <button onclick="cload('datei2.php')" type="button" class="css3button"> inhalt2</button>
    3. <button onclick="cload('datei3.php')" type="button" class="css3button">inhalt3</button>
    4. <button onclick="cload("datei4.php")" type="button" class="css3button">inhalt4</button>
    5. <button onclick="cload("datei5.php")" type="button" class="css3button">inhalt5 </button>


    Vielleicht muss statt einem " bei cload("datei4.php") und datei5.php ein einfaches Anführungszeichen hin?

    Escapen solltest du das am besten so:

    PHP-Quellcode

    1. echo '
    2. <button onclick="cload(\'datei4.php\')" type="button" class="css3button">inhalt4</button>
    3. <button onclick="cload(\'datei5.php\')" type="button" class="css3button">inhalt5 </button>
    4. ';


    Dann hast du einfach Anführungszeichen und dann könnte es gehen.

    Hoffe, ich konnte dir helfen.

    ~ Alex-Digital :D
    ~ Alex-Digital :D

    if(!Internet.VBP.Get<User>("Alex-Digital").IsOnline) this.Close(); :D

    Quellcode

    1. <button onclick="cload('datei1.php')" type="button" class="css3button">inhalt1</button>
    2. <button onclick="cload('datei2.php')" type="button" class="css3button">inhalt2</button>
    3. <button onclick="cload('datei3.php')" type="button" class="css3button">inhalt3 </button>
    4. <button onclick="cload("datei4.php")" type="button" class="css3button">inhalt4</button>
    5. <button onclick="cload("datei5.php")" type="button" class="css3button">inhalt5 </button>


    Mal ne Frage zu den Anfürungszeichen/strichen: Ich nutze Notepad++ als Editor. Wenn ich jetzt, das war auch einer meiner ersten gedanken, die Anführungszeichen gegen einfaches tausche dann stellt der Editor das ja auch so dar d.h. das html zeug wird ja mittels echo ausgegeben. Dargestellt ist der Html code durch echo ja nur mehr in grau im editor. Änder ich eben das Anführungszeichen, so wird der dateiname schwarz und es wird dann auch beim laden ein php fehler ausgeworfen wegen "unexpected,...."

    EDIT:

    Oh ja hab das mit dem \ probiert. Dann kann man in der tat ' setzen ohne dass PHP meckert und es wird im Editor auch wiederrichtig dargestellt.
    Danke für die Hilfe
    Ahoi,

    noch ein kleiner Vorschlag.
    Wenn du Abfragen verwendest kannst du auch einen vb-änlichen stil nutzen.

    HTML-Quellcode

    1. <?php if ($rechte >= "5") : ?>
    2. <button onclick="cload('datei4.php')" type="button" class="css3button">inhalt4</button>
    3. <button onclick="cload('datei5.php')" type="button" class="css3button">inhalt5 </button>
    4. <?php endif; ?>

    So musst du nicht den HTML-Code in echo verpacken.
    Ist aber wie auch deine Schreibweise immer mit Überlegung zu verwenden, welche Schreibweise der Übersichtlichkeit am dienlichsten ist.

    Weiterhin sehe ich in deiner Abfrage eine gewisse Typenunsicherheit.

    PHP-Quellcode

    1. if ($rechte >= "5")

    du solltest dir angewöhnen die Typen klar zu setzen. Da du $rechte auf >= prüfen möchtest gehe ich davon aus, die Variable hat einen nummerischen Typen.
    Auch wenn PHP so etwas verzeiht, ist es doch recht schlechter und unübersichtlicher Stil.

    PHP-Quellcode

    1. if ($rechte >= 5)

    Wäre da schöner.
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de