In JavaScript einen HTML Link einbauen

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

  • In JavaScript einen HTML Link einbauen

    Guten Morgen!!

    Habe mir folgendes Script auf meiner Seite eingebaut:
    Scrollgalerie vertikal

    nun möchte ich in folgendem Abschnitt einen HTML Link ausgeben lassen...
    Ich kenne mich leider nicht so dolle mit JavaScript aus und weis nicht wie ich das anders bewerkstelligen soll. Ich möchte dafür eine PHP Variable ($pics['bild_url']) benutzen, um einen aktuellen "Hier Vergrößern"-Button zu generieren.

    So wird die URL als String ordentlich angezeigt:
    Code:
    document.getElementById('bildtitel1').innerHTML='<?php echo  $pics['bild_name']. "<br>".$pics['bild_url']; ?>';  return  false;">
    Jetzt möchte ich aber einen Hyperlink angezeigt bekommen und da läuft was falsch:
    Code:
    document.getElementById('bildtitel1').innerHTML='<?php echo  $pics['bild_name']. "<br><a href=\"".$pics['bild_url']."\"</a>"; ?>';  return  false;">
    Gibt es eine bessere Möglichkeit? Oder mache ich etwas falsch?
    Danke jetzt schonmal für Antworten!!

    Mathias

  • #2
    Hallo,

    wenn du dir mal den generierten Quelltext ansiehst, erkennst du, dass du den Link völlig falsch zusammenbastelst. Der Linktitel gehört zwischen das öffnende und das schließende Tag und das öffnende muss mit > beendet werden, nachdem alle Attribute aufgeführt sind.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Erstmal vielen Dank für die Antwort...

      Habe den Code mal in folgendes geändert:
      Code:
      document.getElementById('bildtitel1').innerHTML='<?php $pics['bild_name']. "<br><a href=\"".$pics['bild_url']."\">Große Ansicht</a>"; ?>';  return false;">
      Jetzt wird der ganze Text ( ich will den Titel haben und darunter ein Link zum vergrößern ) nicht mehr angezeigt.

      Was mache ich falsch ? :/

      Kommentar


      • #4
        Sieh dir den generierten Quelltext an und prüfe, ob der stimmt und valide ist. Wenn er korrekt ist, überprüfe, ob dein Stylesheet irgend etwas falsches ausblendet. Man kann ja zum Testen auch das CSS erstmal deaktivieren. Wenn du damit nicht weiterkommst, zeig uns bitte den generierten Quelltext oder poste einen Link zu einer Livedemo auf irgendeinem Webspace.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Vielen Dank füe die Antwort AmicaNoctis!

          habe den Quelltext mal genauer unter die Lupe genommen und er sieht so aus:
          (gekürzt)
          PHP-Code:
          <table id="scrollgalerie" align="center">
              <
          tr>
                  <
          td id="gross" align="center">
                  <
          img src="/img/Koala.jpg" name="galerie1" alt="" width "320" height="310">
                  </
          td>
                  <
          td align=center>

                  <
          div class="gallerie2scroll" id="scrollfenster">
                  <
          a href="#"onclick="document.galerie1.src='/img/Koala.jpg';
                      document.getElementById('bildtitel1').innerHTML='';  return false;"
          >

                     <
          img  border="0" src="/img/thumbnail/TNTulips.jpg"></a>
                                                          <
          a href="#"onclick="document.galerie1.src='/img/Desert.jpg';
                      document.getElementById('bildtitel1').innerHTML='';  return false;"
          >

                      <
          img  border="0" src="/img/thumbnail/TNIMG_0131.JPG"></a>
                  </
          div>
                  </
          td>
              </
          tr>
              <
          tr>
                  <
          td id="textzelle" colspan="2">
                  <
          p id="bildtitel1">Vorschaubilder zum vergrößern klicken<br>(javascript muß aktiviert sein)</p>
                  </
          td>
              </
          tr>
          </
          table
          Wie man sieht ist innerHTML= ' ' <- leer
          Code:
          document.getElementById('bildtitel1').innerHTML='';
          In den ' ' steht folgender PHP Code:
          PHP-Code:
          <?php $pics['bild_name']. "<br><a href=\"".$pics['bild_url']."\">Große Ansicht</a>"?>
          Ich weil leider nicht was genau in innerHTML='' erlaubt ist... aber theoretisch sollte das doch funktionieren oder?

          Viele Grüße Mathias

          Kommentar


          • #6
            Was sagt [FONT="Courier New"]var_dump($pics)[/FONT]? Du hast garantiert noch etwas anderes verändert, seit die Bild-URI „als String ordentlich angezeigt“ wurde. Auch wenn der JavaScript-Code furchtbar und seine Einbettung nicht HTML-valide ist, müsste PHP (dem diese beiden Fakten ja erstmal schnurz sind) dort irgendetwas ausspucken.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Hey,

              [FONT=Courier New]var_dump($pics):[/FONT]
              Code:
              array(4) { 
              ["bild_id"]=> string(2) "44" 
              ["daten_id"]=> string(1) "1" 
              ["bild_url"]=> string(52) "http://www.xyz.de/img/Koala.jpg" 
              ["bild_name"]=> string(7) "Koalaaa" 
              }
              ja der Code entwickelt bei mir auch leichten Augenkrebs
              Möchte aber jetzt erstmal das alles soweit steht..
              ps: vielleicht sagt dir Firebug o.ä. mehr als mir ? ->
              Zuletzt geändert von Peh4pe; 13.02.2012, 12:25.

              Kommentar


              • #8
                Du hast das echo weggenommen.
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Kommentar


                • #9
                  hm also habe das echo wieder rein gemacht ("DOH!") aber das war nicht das "Problem"... Wenn du dir jetzt nochmal die Seite anschaust sieht man, dass der JavaScript Code abgeschnitten wird. Irgendein Zeichen setzt Javascript da wohl inaktiv. Der Quelltext sieht (meiner Meinung nach) OK aus.

                  Grüße

                  Kommentar


                  • #10
                    Zitat von Peh4pe Beitrag anzeigen
                    Irgendein Zeichen setzt Javascript da wohl inaktiv.
                    Das ist das, was ich schon mit invalider Einbettung in HTML meinte. Dort war irgendwo ein <br> und das darf da nicht hin. In Attributwerten sind <, >, & und das jeweilige Anführungszeichen verboten.

                    Zitat von Peh4pe Beitrag anzeigen
                    Der Quelltext sieht (meiner Meinung nach) OK aus.
                    Meine Meinung steht deiner diesbezüglich diametral entgegen.

                    Du könntest eine wenigstens Funktion schreiben und die onclick mit sinnvollen Argumenten aufrufen, aber in ein onclick-Attribut ganze Code-Blöcke reinzupacken ist der schlechteste Weg, den ich kenne.
                    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                    Super, danke!
                    [/COLOR]

                    Kommentar


                    • #11
                      Okay,

                      Meine Meinung steht deiner diesbezüglich diametral entgegen.
                      ->

                      ich habe es jetzt anders gelöst und die XXL Vorschau unter die Bilder gehauen:

                      HTML-Code:
                      <a href="#"; onclick="document.galerie1.src='<?php echo $pics['bild_url']; ?>';
                      document.getElementById('bildtitel1').innerHTML='<?php echo $pics['bild_name'];?>';  return false;">
                      <img  border="0" src="<?php echo "/img/thumbnail/TN".substr($pics['bild_url'], 43); ?>">
                      <br><span class="xxl"><a target="_blank" href="<?php echo $pics['bild_url'] ?>">Gross</a></span>
                      Funktioniert und erfüllt seinen Zweck.

                      Kommentar

                      Lädt...
                      X