Christoph: onchange mit eval?

Hallo Forum,

ich bastel mir gerade eine onchange Funktion zusammen, die bei einem select Feld, wenn man etwas ausgewählt hat, dann nebendran in einem Textfeld oder in einem Div dann was passendes anzeigt.

Mein Select sieht folgendermaßen aus:
<select name="formdata[cent]" onchange="switchphonenumber()">
<option value="0500">500</option>
<option value="1000">1000</option>
<option value="2000">2000</option>
</select>
So da ist für mich schon das Problem. Er erkennt formdata[cent] nicht :/

Mal meine Javascript Funktion:
function switchphonenumber()
{
 for (var i=0;i<document.myform.eval(formdata[cent]).options.value.length;i++)

if (document.myform.eval(formdata[cent]).options.value[i].selected==true)

document.myform.textfeld.value=document.myform.eval(formdata[cent]).options.value[i].value
}

Wie ihr seht habe ich das mit eval probiert, komme da aber auch nicht mehr weiter... Wer weiß Rat?

Grüße

Christoph

  1. Hallo Christoph,

    function switchphonenumber()
    {
     for (var i=0;i<document.myform.eval(formdata[cent]).options.value.length;i++)

    Das gehört da gleube ich nicht hin:                             ^^^^^^

    if (document.myform.eval(formdata[cent]).options.value[i].selected==true)

    und da auch nicht                                   ^^^^^^

    document.myform.textfeld.value=document.myform.eval(formdata[cent]).options.value[i].value

    Da ist es auch doppelt                                                                   ^^^^^^

    }

    Gruß Gernot

  2. Mein Select sieht folgendermaßen aus:
    <select name="formdata[cent]" onchange="switchphonenumber()">
    <option value="0500">500</option>
    <option value="1000">1000</option>
    <option value="2000">2000</option>
    </select>
    So da ist für mich schon das Problem. Er erkennt formdata[cent] nicht :/

    Natürlich tut 'er' das.

    document.forms['myform'].elements['formdata[cent]']

    aber es ist unnötig, da du direkt der Funktion die Referenz auf das Element übergeben kannst:
    <select name="formdata[cent]" onchange="switchphonenumber(this)">

    function switchphonenumber(el)
    {
    var val = el.options[el.selectedIndex].value;
    alert(val);
    }

    Struppi.