mano_di_dei: bei onchange value einer inputbox ändern

hi
ich hab ein problem. ich habe ein dropdownmenü. wenn ich da jetzt was auswähle, soll sich in einer inputbox der vorgegebene wert ändern. am besten wäre es wenn es label wäre, aber das hab ich erst gar nicht probiert, weil das ja noch schwerer ist. ich hab hier mal ein kleines bsp erstellt. hoffe es kann mir schnell wer helfen. wäre sehr wichtig.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title>test</title>
  <script language="Javascript"></script>
<!-- Start
function update_auswahl()
{
testAuswahl = document.forms.testform.teil1;
if (testAuswahl.options
[testAuswahl.selectedIndex].
value == "test1")
{
document.getElementsByID("test")[0].value = "geht1";
}
if (testAuswahl.options
[testAuswahl.selectedIndex].
value == "test2")
{
document.getElementsByName("test")[0].value = "geht2";
}
</head-->
</head>
<body>
<form name="testform">
  <select size="1" name="teil1"
 onchange="update_auswahl()">
  <option value="test1">test1</option>
  <option value="test2">test2</option>
  </select>
  <br>
  <input id="test" value="hallo">
</form>
</body>
</html>

  1. Hi,

    ich hab ein problem. ich habe ein dropdownmenü. wenn ich da jetzt was auswähle, soll sich in einer inputbox der vorgegebene wert ändern.

    Und wo liegt jetzt bitte das Problem?

    am besten wäre es wenn es label wäre, aber das hab ich erst gar nicht probiert, weil das ja noch schwerer ist.

    Nö, ist es nicht - über innerHTML bspw. ist es ganz einfach.

    hoffe es kann mir schnell wer helfen. wäre sehr wichtig.

    Dann wird's Zeit, dass du eine vernünftige Problembeschreibung lieferst.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    1. Was ist an meiner Problembeschriebung und dem Problem falsch zu verstehen?

      ich hab nen Dropdown.

      will jetzt da was auswählen und an einer anderen stelle dadurch nen wert ändern.

      aber er macht es nicht.

      An innerHTML hab ich auch gedacht. aber die beschriebeung ist mehr als dürftig. ich bin halt kein großer Crack im Bezug auf JS. Alles was ich mir im Bezug auf innerHTML angeguckt habe ist für mich völlig unverständlich.

      am liebsten wäre es mir, wenn ich bei onchange eine JS-Funktion hätte, die in einem Label mit Namen "xyz" den value-wert neu setzt.

      1. Hi,

        Was ist an meiner Problembeschriebung und dem Problem falsch zu verstehen?

        Was ist an den Tipps für Fragende nicht zu verstehen -

        aber er macht es nicht.

        • insbesondere an:

        "Funzt nicht" ist keine Problembeschreibung.

        MfG ChrisB

        --
        Light travels faster than sound - that's why most people appear bright until you hear them speak.
      2. am liebsten wäre es mir, wenn ich bei onchange eine JS-Funktion hätte, die in einem Label mit Namen "xyz" den value-wert neu setzt.

        Dir wurden hier schon so viele Tipps gegeben, und du kommst immer noch nicht weiter, also wenn du dieses Bsp. nicht vestehst, dann fang doch mal bei den Grundlagen an.

        Mein Bsp. setzt das ausgewähle Value des Selects in das Inputfeld (value) sowie in eine Divbox (innerHTML).

          
        <html>  
         <head></head>  
         <body>  
          <form target="" acktion="" method="">  
           <select size="1" onchange="document.forms[0].ziel.value=this.value; document.getElementById('zielDIV').innerHTML=this.value">  
            <option value="Auto">Auto</option>  
            <option value="Zug">Zug</option>  
            <option value="Farrad">Fahrrad</option>  
           </select>  
           <input type="text" value="" id="ziel" name="ziel" />  
           <div id="zielDIV"></div>  
          </form>  
         </body>  
        </html>  
        
        
  2. Hallo mano_di_dei,

    dein Script enthält einige Fehler:

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
      <meta content="text/html; charset=ISO-8859-1"
    http-equiv="content-type">
      <title>test</title>
      <script language="Javascript"></script>

    das "</script>" hat hier nichts zu suchen, das muss ans Ende des Scriptblocks.

    <!-- Start

    kann weg.

    function update_auswahl()
    {
    testAuswahl = document.forms.testform.teil1;
    if (testAuswahl.options
    [testAuswahl.selectedIndex].
    value == "test1")

    eigenartige Schreibweise, aber wenn du es lesen kannst ...

    {
    document.getElementsByID("test")[0].value = "geht1";
    }
    if (testAuswahl.options
    [testAuswahl.selectedIndex].
    value == "test2")
    {
    document.getElementsByName("test")[0].value = "geht2";
    }
    </head-->

    muss weg, statt dessen muss hier das "</script>" hin.

    </head>
    <body>
    <form name="testform">
      <select size="1" name="teil1"
    onchange="update_auswahl()">
      <option value="test1">test1</option>
      <option value="test2">test2</option>
      </select>
      <br>
      <input id="test" value="hallo">
    </form>
    </body>
    </html>

    korrigiere das mal. Wenn es dann immer noch nicht geht (ich bin ein schlechter Javascriptparser), wirf mal einen Blick in die Fehlerkonsole und wenn du dann nicht weiter kommst, beschreibe dein Problem etwas genauer.

    Gruß, Jürgen

  3. Hi,

    document.getElementsByID("test")[0].value = "geht1";

    Eine solche Funktion gibt es nicht. Da id-Attributwerte dokumentweit eindeutig sein müssen, kann es nur max. 1 Element geben, das diese ID hat.
    Streiche also das s aus dem Funktionsnamen.
    Aus demselben Grund liefert getElementByID auch kein Array, sondern entweder das Element mit der ID oder null.
    Streiche also den Index samt Klammern.

    document.getElementsByName("test")[0].value = "geht2";

    Es gibt kein Element mit Namen "test", nur ein solches mit der ID "test".
    Also sollte die Funktion nichts zurückliefern - zumindest nichts, das an der Index-Position 0 ein Objekt hat.

    <input id="test" value="hallo">

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind unverschämt, werden ignoriert. Das Forum existiert.
    1. Hi,

      document.getElementsByID("test")[0].value = "geht1";

      Eine solche Funktion gibt es nicht. [...]
      Aus demselben Grund liefert getElementByID auch kein [...]

      Stimmt, der Grund ist derselbe - eine solche Funktion gibt es nicht.

      Das D möchte mit seinem kleinen Geschwister ersetzt werden.

      MfG ChrisB

      --
      Light travels faster than sound - that's why most people appear bright until you hear them speak.