Stephan Kirchlechner: Formular per Link füllen

Hallo Forumler,

folgendes Problem:
Ich habe ein Frameset mit zwei Frames definiert,
wobei im rechten Frame eine Liste mit beliebigen Begriffen und im linken ein Formular mit Textfeld steht.

Nun soll der Surfer rechts einen Begriff anklicken können, der dann links im Textfeld eingeblendet wird.

Klappt auch wunderbar, ausser dass sich der rechte Frame unerwünschterweise auch ändert !!

Wer weiss weiter ??

Frameset:

<html>
<frameset cols="50%, *">
<frame name="links" src="maske.htm">
<frame name="rechts" src="liste.htm">
</frameset>
</html>
--------------------------------------
Maske:

<html>
<body bgcolor="white">

<form name="vorliebe">
<input type="text" name="sprache">
</form>

</body>
</html>
--------------------------------------
Liste:

<html>
<body bgcolor="white">

<a href="javascript:parent.frames[0].document.vorliebe.sprache.value='HTML'">HTML</a>
<a href="javascript:parent.frames[0].document.vorliebe.sprache.value='JavaScript'">JavaScript</a>

</body>
</html>

Thats it !

Vielen Dank für jede Anregung !
Stephan

  1. Hi !

    Was ändert sich im anderen Frame ? Auf den ersten Blick sieht das okay aus...

    CIAO
    H-Man

    1. Was ändert sich im anderen Frame ? Auf den ersten Blick sieht das okay aus...

      Der Frame verliert seine Hintergrundfarbe und es wird nur noch der angeklickte Begriff dargestellt, allerdings nicht mehr verlinkt.

      Hier der Quelltext, den der NS 4.5 ausgibt:

      <nscp_open><TITLE>view-source:javascript:parent.frames[0].document.vorliebe.sprache.value='HTML'</TITLE><PLAINTEXT>HTML

      Stephan

  2. Ändere deine Liste.htm wie folgt:
    ---------------------------------------------------------------------------------------------------------------------------
    <html>
    <body bgcolor="white">
    <script language="javascript">
    function set(elem, text)
    {
    parent.frames[0].document.forms[0].elements[elem].value=text;
    }
    </script>
    <a href="javascript:set('sprache', 'HTML');">HTML</a>
    <a href="javascript:set('sprache', 'JavaScript');">JavaScript</a>

    </body>
    </html>

    Christian Ploninger

    1. Wow, so klappts !!!

      Nur so nachgefragt: Warum eigentlich ??

      Aber vielen Dank auf jeden Fall !!

      Stephan

      1. Wow, so klappts !!!

        Nur so nachgefragt: Warum eigentlich ??

        Aber vielen Dank auf jeden Fall !!

        Stephan

        Hi!
        Also ich glaube, dem Browser ist nicht ganz klar, daß es sich nicht um einen Link sondern um einen Funktionsaufruf handelt. Er führt zwar die Funktion aus, interpretiert aber den String auch noch anders. Dies ist zu beobachten wenn du ein target="...."  hinzufügst.

        Christian