Martin: Erklärung zu einem Link irgendwo in einer Tabelle setzen

Hallo Mitstreiter,

ich habe ein Problem bei dem ich entweder zu kompliziert denke oder es tatsächlich nicht geht...

Folgendes:
Ich will kurze Erklärungstexte zu Links auf der Webseite setzen. Das ganze funktioniert prima, z.B. nach diesem Prinzip:

Irgendwo auf der Seite:
<script language="JAVASCRIPT">
function lzeile(text)
 { document.forms[0].linktext.value=text; }
</script>

Irgendwo z.B. in einer Tabellenzeile an der Stelle der Seite, wo es erscheinen soll:
<form><input type="text" name="linktext" value="" size=50></form>

Und woanders, wo halt der eigentliche Link ist:
<a ... onmouseover="lzeile('Blabla, laber rababer...')" onmouseout="lzeile('')">

So, sobald jemand über den Link fährt ercheint der "Erklärungstext" an der beliebigen Stelle im Text, wo das Input-Textfeld steht.

Soweit, so gut.

Jetzt die MASTERFRAGE:
Wie kann man das evtl. erreichen, das der zu schreibende Text nicht in so einem häßlichen INPUT Feld steht?
Nicht, das mir jetzt einer sagt ich kann dem Input Feld ja ein Style-Sheet verpassen, nix da, es soll ganz weg bzw. nix zu sehen sein.
Also eine leere Zelle einer Tabelle, in der plötzlich ein Text erscheint wenn einer über den Link fährt und nicht schon vorher sieht: Hoppla, da ist ein Feld, da kommt gleich was...

Ich habe schon an einen Layer gedacht, aber ich möchte ein CMS verwenden und da absolute Layer zu setzen... ich weiß nicht ob das bei jedem Browser und Auflösung immer so hinhauen wird.

Hat einer eine Idee? Vielleicht denke ich jetzt einfach schon zu kompliziert...

Danke im Vorraus
Martin

  1. Moin!

    Irgendwo auf der Seite:
    <script language="JAVASCRIPT">
    function lzeile(text)
    { document.forms[0].linktext.value=text; }
    </script>
    Soweit, so gut.

    Nein. Da ist noch etwas falsch, also nicht gut. Besser wäre:

    <script type="text/javascript" language="JAVASCRIPT">
    <!--
    function lzeile(text){
      document.forms[0].linktext.value=text;
    }
    //-->
    </script>

    Jetzt die MASTERFRAGE:

    *hüstel* Wir haben hier zwar nur Masterfragen, aber diese ist eher was für des Zauberlehrlings Vorstellungsgespräch ;-)

    Wie kann man das evtl. erreichen, das der zu schreibende Text nicht in so einem häßlichen INPUT Feld steht?

    Lösung- Teil 1:
    Irgendwo im Body:

    <div id="Linkerklaerung"></div>

    Lösung- Teil 2:
    Deine Funktion im JS daran angepasst:

    <script type="text/javascript" language="JAVASCRIPT">
    <!--
    function lzeile(text){
      document.getElementById('Linkerklaerung').innerHTML=text;
    }
    //-->
    </script>

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
    1. Tja,

      hat der Zauberlehrling die Prüfung nicht wirklich bestanden, ich weiß :-(

      Ich danke für diese fabulöse Hilfestellung, ich wußte doch das man das recht einfach hinbekommen kann, das mit dem "div" fiehl mir auch schon ein, aber der Scriptaufruf...

      Was soll ich sagen, außer: DANKESCHÖN!!!

      Funzt prima.

      ...wieder eine Lehrstunde erfolgreich beendet. :-)))

  2. Hallo Martin,

    Jetzt die MASTERFRAGE:
    Wie kann man das evtl. erreichen, das der zu schreibende Text nicht in so einem häßlichen INPUT Feld steht?
    Nicht, das mir jetzt einer sagt ich kann dem Input Feld ja ein Style-Sheet verpassen, nix da, es soll ganz weg bzw. nix zu sehen sein.

    Was wäre denn dagegen zu sagen, du kannst doch mit CSS das Input-Feld so formatieren, dass es ohne Border und mit der gleichen Hintergrundfarbe überhaupt nicht mehr von der Umgebung zu unterscheiden ist und außerdem kannst du ihm auch noch ein readonly- oder disabled-Attribut verpassen, so dass es auch für den Nutzer nicht mehr editierbar ist.

    Anders als mit Variante innerHTML kannst du da sogar auch ältere Browser bedienen, auch wenn die sich der CSS-Formatierung der Textfelder vielleicht ganz oder teilweise entziehen.

    Gruß Gernot