kosc: <map> und globale variablen ausgeben

hallo,<br>
ich habe im groben  folgendes vor: beim klicken auf bestimmte bereiche,<br> eines bildes  sollen schrifteigenschaften eines anderen elementes verändert werden.,<br>
bisher bin ich testweise erst einmal soweit gekommen:,<br>

<map name="Praxis-Team">,
    <area shape="rect" coords="140,100,190,200" href="#" alt=""      title="a1" onclick="javascript:window.cooro='v1'; ">

/*<area shape="rect" coords="230,120,280,210" href="#" alt="" title="a2" onclick="javascript:window.cooro='v2'; ">*/

<script language="JavaScript" type="text/javascript">
var ausgabe ="";
var sonst ="test-sonst"
if (cooro == v1)
{ausgabe='<span>test1</span>'; document.write(ausgabe);}
else{document.write(sonst);}</script>

hier soll  also mit "window.cooro="v1" (im <area>) eine globale variable ,<br>erzeugt werden, an der dann die if-anweisung fest gemacht,<br> werden soll. das bleibende problem ist allerdings,dass diese ,<br>mit der angegeben bedingung "cooro == v1" nichts anfangen kann!,<br>
die globale variable "v1" steht jedoch zur verfügung (habe ich schon mit,<br> einer "alert"-anweisung ausprobiert).  ,<br>
ich wäre sehr dankbar für schnelle hilfe,<br>

grüße kosc

  1. Hallo kosc,

    hallo,<br>

    frierst du?

    <map name="Praxis-Team">,
        <area shape="rect" coords="140,100,190,200" href="#" alt=""      title="a1" onclick="javascript:window.cooro='v1'; ">

    hier wird dafür gesorgt, dass beim Mausklick die Variable gesetzt wird. Das "javascript:" hat hier übrigens nichts zu suchen.

    /*<area shape="rect" coords="230,120,280,210" href="#" alt="" title="a2" onclick="javascript:window.cooro='v2'; ">*/

    du solltest dir mal ansehen, wie man im HTML Kommentare setzt.

    <script language="JavaScript" type="text/javascript">

    language ist veraltet.

    var ausgabe ="";
    var sonst ="test-sonst"
    if (cooro == v1)

    hier fragst du die Variable ab. Ich glaube aber nicht, das zu diesem Zeitpunkt schon irgendjemand in der Lage war, auf das Bild zu klicken.

    Gruß, Jürgen

    1. also dank erstmal für die schnelle antwort.
      mit folgendem text konnte ich, wie schon erwähnt, zumindest erreichen,dass ein "alert" mit dem wert 'v1' der globalen variablen "cooro" erscheint,wenn ich zuerst auf den entsprechenden bereich des bildes und dann auf das "span"-element (siehe unten) geklickt habe.

      <script language="JavaScript" type="text/javascript">
      ausgabe= '<span onclick="javascript:alert(cooro);">test</span>';
      document.write(ausgabe);
      </script>

      anders ausgedrückt hätte ich jedoch gern, dass z.B. "test" im "span"-element OHNE event-handler  den wert 'v1' der globalen variablen "cooro" annimmt, also schon dann, wenn ich NUR auf den entsprechenden bereich des bildes klicke.

      1. Hallo kosc,

        du musst bei Javascript folgendes wissen: Befehle, die nicht in Funktionen stehen, werden sofort ausgeführt. Dazu scheint dein Teil mit dem document.write zu gehören. Events, wie z.B. onclick, werden erst ausgeführt, wenn das Ereignis eintritt. Wenn du also willst, dass ein Teil deiner Seite verändert wird, musst die dazu gehörenden Befehle in den Eventhandler schreiben. Da der Event aber erst nach dem Laden und Rendern der Seite ausgelöst werden kann, darfst du kein document.write mehr nehmen. Folgendes Beispiel ändert den Inhalt eines Ps bei Klick auf ein Element:

        ...
          <script type="text/javascript">
           function tuwas(txt) {
             document.getElementById("feld").firstChild.data=txt;
           }
          </script>
         </head>
         <body>
          <h1>Test2</h1>
          <p onclick="tuwas('Neuer Text')">Klick mich!</p>
          <p onclick="tuwas('Alter Text')">Klick mich auch!</p>
          <p id="feld">Text</p>
         </body>
        </html>

        siehe hierzu:

        http://de.selfhtml.org/javascript/objekte/document.htm#get_element_by_id
        http://de.selfhtml.org/javascript/objekte/node.htm

        Mit diesem Beispielcode kann aber nur Text in das Feld geschrieben werden. Außerdem muss das Feld schon einen Inhakt haben und sei es nur ein &nbsp;. Wenn es mehr sein soll, benötigst du die create-Methoden oder innerHTML.

        Gruß, Jürgen

        1. ok, perfekt, das war, was ich gebraucht habe.
          danke, kosc