Frage zu Value übergabe

  • PHP

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Link275.

    Frage zu Value übergabe

    Hallo Zusammen

    Ich habe folgenden Code:

    PHP-Quellcode

    1. echo "<tr><td width='150'><a value='bilder/$datei' ondblclick='javascript:handleSelect(this)'>$datei</a></td><td><img src='x.png'/></td></tr><br>";


    Ich möchte die Value von <a></a> an mei Javascript übergeben:

    HTML-Quellcode

    1. <script type="text/javascript">
    2. function handleSelect(elm)
    3. {
    4. window.open(elm.value,'_blank');
    5. }
    6. </script>


    Dies amche ich mit javascript:handleSelect(this)

    Nur funktioniert dies bei einem <a></a> Tag nicht. Wenn ich den Wert in href speichere und so übergeben will kann ich diesen im Javascript nicht aufrufen.
    Also; Wie übergibt man Werte von PHP nach Javascript sauber?

    Danke für eure Antwort.
    Hi,

    versteh' nicht genau was du willst irgendwie ^^
    Soweit ich weiß is "a" erst dann gültig, wenn mindestens die Attribute "name" und/oder "href" angegeben sind.


    Link :thumbup:
    Hello World
    Nun; Ich liste Dateien aus einem Ordner in einer Tabelle auf. Ich möchte, dass bei einem doppelklick auf das <td></td> - Item in einem Neuen Fenster die Datei (Bild) aufgeht.
    Ich kenne dazu nur die Javascript Variante. Ich lasse mich gerne eines Besseren belehren wenn es eine einfachere Möglichkeit für mein Vorhaben gibt.
    Hi,

    okay also wenn ich das richtig sehe könntest du ins dblClick-Event folgendes schreiben:

    HTML-Quellcode

    1. <td ondblclick="window.open('./images/der.name.des.bildes.png', '', 'width='700,height=700');">Text...</td>


    So und das war's schon. Dadurch dass in deiner table ja offensichtlich eine Liste ist mit Bildern (?) übergibst du den Dateinamen dynamisch.

    Musst generell nicht ein neues Fenster öffnen. Wenn jemand Popup-Blocker drin hat, schaut's schon schlecht aus für dich. Es reicht, wenn du ein hidden div erstellst und das dann bei dblclick sichtbar machst und das Bild dynamisch reinlädst.


    Link :thumbup:
    Hello World
    @Agita

    Habe ich gemacht immer noch gleich. Aber ich bin mir fast sicher, dass das drinnen bleiben muss denn;
    Ich habe schon ein anderes Script geschrieben welches funktionert:

    PHP-Quellcode

    1. echo "<option value='Einleitung/sonntag/$datei'>$datei</option><br>";


    HTML-Quellcode

    1. <script type="text/javascript">
    2. function handleSelect(elm)
    3. {
    4. window.open( elm.value,'_blank');
    5. }
    6. </script>


    Der unterschied liegt einfach darin , dass ich es hier in einem <option></option> Tag benutzt habe. <--- hier funktionierts.

    Nun möchte ich dies jedoch in einem <a></a> oder <td></td> Tag realisieren da ich nun keine ListBox gebrauche.

    @Link275

    Genau so hab ich mir das auch gedacht wie muss ich jedoch mit den Tags vorgehen? Etwa so;

    HTML-Quellcode

    1. <script type="text/javascript">
    2. <?php
    3. //Hier kann ich nun php & Javascript benutzen???
    4. ?>
    5. </script>
    Hi,

    naja wie wird denn deine Liste erstellt? Wahrscheinlich liest du den Inhalt eines bestimmten Verzeichnisses aus (mit PHP) und schreibst dann in einer Schleife (die alle Einträge durchläuft) deinen Text, in deinem Fall die einzelnen Tabellenzeilen. Und innerhalb dieser schleife schreibst du bei "<td>" eben den Code den ich weiter oben hingeschrieben hab. Das was du meinst versteh ich gar nicht was das soll ^^ Javascript-Tag ist völlig unnötig, da du ja inline-Javascript benutzt.

    Zeig mal den aktuellen Code deiner Seite.


    Link :thumbup:
    Hello World
    Ich glaube ich habe nun etwas wesentliches verstanden:

    Die Events onclick ,ondblclick sind JavaScript-Events somit brauch ich den anderen javascript kram gar nicht? ^^
    -man bin ich blöd

    Mein jetztiger Code:

    PHP-Quellcode

    1. <?php
    2. $handle = opendir("sonntag/");
    3. while ($datei = readdir($handle)) {
    4. if ($datei == ".." OR $datei == ".") {
    5. continue;
    6. }
    7. echo "<tr><td width='150' ondblclick='window.open(http://www.meinewebsite.ch/mitarbeiter/123/432/$datei,'_blank')'>$datei</td><td><img src='x.png'/></td></tr><br>";
    8. }
    9. closedir($handle);
    10. ?>


    Nun dies funktioniert nicht , ich gehen davon aus , dass ich die Semikolons (" / ') falsch gesetzt habe?
    Hi,

    fast richtig.

    so könnt's gehen:

    PHP-Quellcode

    1. <?php
    2. $handle = opendir("sonntag/");
    3. while ($datei = readdir($handle)) {
    4. if ($datei == ".." OR $datei == ".") {
    5. continue;
    6. }
    7. echo "<tr><td width='150' ondblclick='window.open("http://www.meinewebsite.ch/mitarbeiter/123/432/$datei", "", "width=300,height=300");'>$datei</td><td><img src='x.png'/></td></tr><br>";
    8. }
    9. closedir($handle);
    10. ?>


    Und ja du hast richtig verstanden. Die script-Tags brauchst du nur, wenn dort drin ausschließlich JavaScript steht.


    Link :thumbup:
    Hello World
    @Link275

    Ich habe nun folgenden Code:

    PHP-Quellcode

    1. <?php
    2. $handle = opendir("sonntag/");
    3. while ($datei = readdir($handle)) {
    4. if ($datei == ".." OR $datei == ".") {
    5. continue;
    6. }
    7. echo "<tr><td width='150' ondblclick=('window.open('http://www.website.ch/mitarbeiter/123/sonntag/$datei','','width=300,height=300')'>$datei</td><td><img src='x.png'/></td></tr><br>";
    8. }
    9. closedir($handle);
    10. ?>


    Funktioniert leider auch nciht.
    Zur Info; Ich nehme mit Absicht die '' Gänsefüschen und nicht die "". Denn wenn ich die "" nehme wird dies als PHP - String angesehen.
    Hi,

    ah verdammt, ja vor den Anführungszeichen die ich gesetzt hatte, waren Backslashes. Die werden beim Veröffentlichen meines Posting aber entfernt, deswegen. Außerdem kann das was du da hast nicht funktionieren, weil du innerhalb der ersten beiden einfachen Anführungszeichen noch weitere hast, das heißt da wo das einfache Anführungszeichen ist (direkt vor "http://........"), ist die Übergabe des JavaScript-Codes für das dblclick-Event abgeschlossen. Musst innerhalb von "ondblclick('" und "')" entweder mit einfachen oder normalen Anführungszeichen arbeiten und ein Backslash davorsetzen.


    Link :thumbup:
    Hello World
    Hi,

    na da wo http:// steht, davor ist ja das einfache Anführungszeichen. Das nimmst raus und tust stattdessen ein normales Anführungszeichen (") rein mit Backslash davor.


    Link
    Hello World