Martin: Überwachung von <select>'s

Hallo Leute,

ich hab ein kleines problem mit Javascript, und zwar
möchte ich ein <select>-Feld in einem Fromular überwachen,
aber irgendwie schaffe ich es nicht.
Wenn ich den Eventhandler verwende fünktioniertes:

<html>
<head>
  <title></title>

<script language="JScript" type="text/jscript">
  <!--
    function makethis()
    { x = document.myform.myselect.options[document.myform.myselect.options.selectedIndex].value;
      document.myform.myinput.value = x }
  //-->
  </script>

</head>
<body>

<form name="myform" action="#">

<select name="myselect" size="1" onchange="makethis()">
    <option value="o1">Option Nr 1</option>
    <option value="o2">Option Nr 2</option>
    <option value="o3">Option Nr 3</option>
    <option value="o4">Option Nr 4</option>
    <option value="o5">Option Nr 5</option>
  </select>

<input type="text" name="myinput" value="">

</form>

</body>
</html>

wenn ich jedoch versuche dies mit einer überwachung zu tun.
passiert garnichts

hier mein Source

<html>
<head>
  <title></title>

<script for="document.myform.myselect.options.selectedIndex" event="onchange()" language="JScript" type="text/jscript">
  <!--
    x = document.myform.myselect.options[document.myform.myselect.options.selectedIndex].value;
    document.myform.myinput.value = x;
  //-->
  </script>

</head>
<body>

<form name="myform" action="#">

<select name="myselect" size="1">
    <option value="o1">Option Nr 1</option>
    <option value="o2">Option Nr 2</option>
    <option value="o3">Option Nr 3</option>
    <option value="o4">Option Nr 4</option>
    <option value="o5">Option Nr 5</option>
  </select>

<input type="text" name="myinput" value="">

</form>

</body>
</html>

was mach ich falsch? und wie realisiere ich dies im
Netscape 4.x/6.x (Mozilla 1.x)

Danke für jede Hilfe

Martin

  1. wie wärs mit:

    <script language="JavaScript">
      <!--
        function makethis()
        {
         x = document.myform.myselect.value;
         document.myform.myinput.value = x;

    }
      //-->
      </script>

    und

    <select ... onchange=makethis()>...</select>

    hoffe es entspricht deinen vorstellungen
    the mech | code:nc01

    1. Das ist leider nicht das was ich suche mein erste
      Codebeispiel entspricht genau deinem Vorschlag nur das meins
      ebenfalls im Netscape 4.x funktioniert.
      Möchte keinen Handler in das Tag schreiben sondert vielmehr
      vom Scriptteil die veränderung überwachen.
      Mit <input>-Feldern klapts nur nicht in Verbindung <select>-Feldern

      wie wärs mit:

      <script language="JavaScript">
        <!--
          function makethis()
          {
           x = document.myform.myselect.value;
           document.myform.myinput.value = x;

      }
        //-->
        </script>

      und

      <select ... onchange=makethis()>...</select>

      hoffe es entspricht deinen vorstellungen
      the mech | code:nc01

  2. Hallo du da draußen,

    <html>
    <head>
      <title></title>
    </head>
    <body>

    <form name="myform" action="#">

    <select name="myselect" size="1" onChange = "x = document.myform.myselect.options[document.myform.myselect.selectedIndex].value; document.myform.myinput.value = x;">
        <option value="o1">Option Nr 1</option>
        <option value="o2">Option Nr 2</option>
        <option value="o3">Option Nr 3</option>
        <option value="o4">Option Nr 4</option>
        <option value="o5">Option Nr 5</option>
      </select>

    <input type="text" name="myinput" value="">

    </form>

    </body>
    </html>

    Funktioniert auch in Mozilla usw.

    Grüße von hier drinnen, aus Biberach an der Riss,

    Dogfish

  3. Hi Martin,

    mit folgendem Quellcode kann man ne selectbox kontrolliern...
    unter NN muss man noch das Event 'anmelden'.

    <html>
    <head>
     <title>Test</title>
    </head>
    <script language="Javascript">
    function test()
    {
       window.document.forms['testform'].elements['testselect'].onchange = onChangeTest;
    }
    function onChangeTest()
    {
       alert("Auswahl hat sich geaendert!");
    }
    </script>
    <body onLoad="test()">
    <form name="testform">
    <select name="testselect">
       <option>eins
       <option>zwei
       <option>drei
    </select>
    </form>
    </body>
    </html>

    Gruss
    Axel