Thomas K: eine function für mehrere text-inputs

Ich verwende Funktionen um z.B. TextFelder von Formularen zu bearbeite.

z.B. wandele ich Kommas in Punkte um:

function komma()
{
 document.InputForm.r115.value = document.InputForm.r115.value.replace(",",".");
}
...
<input type = 'text' name = 'r115' onChange = "komma()">
...

ausserdem lass ich viele Werte über Funktionen berechnen.

Bis jetzt muss ich für jedes Feld eine eigene Funktion schreiben (auch wenn all diese Funktionen alle das gleiche machen). Wie muss ich eine Funktion schreiben, die von mehreren feldern aus aufgerufen werden kann?

(... document.InputForm.VARIABEL.value ....)

Danke

  1. Hallo,

    Bis jetzt muss ich für jedes Feld eine eigene Funktion schreiben (auch wenn all diese Funktionen alle das gleiche machen). Wie muss ich eine Funktion schreiben, die von mehreren feldern aus aufgerufen werden kann?

    (... document.InputForm.VARIABEL.value ....)

    var d,l;
    d=document.InputForm;
    l=d.length;
    for(i=0;i<l;i++)
    {
      if(d.elements[i].type=="text")
      {
        d.elements[i].value.replace(",",".");
      }
    }

    MfG, Thomas

    1. Super, Danke!!

      funzt prima, muss halt nur

      ...
      if(d.elements[i].type=="text")
        {
          d.elements[i].value = d.elements[i].value.replace(",",".");
        }
      ...

      heissen

      Andere Frage:
      kann ich in der function herausfinden, von welchem element der form die function aufgerufen wurde?

      Grüsse, Thomas

      1. Hallo,

        kann ich in der function herausfinden, von welchem element der form die function aufgerufen wurde?

        Im IE koennte man document.activeElement bemuehen, siehe http://www.styleassistant.de/tips/tip69.htm.

        MfG, Thomas

  2. Ich verwende Funktionen um z.B. TextFelder von Formularen zu bearbeite.

    z.B. wandele ich Kommas in Punkte um:

    function komma()
    {
    document.InputForm.r115.value = document.InputForm.r115.value.replace(",",".");
    }
    ...
    <input type = 'text' name = 'r115' onChange = "komma()">
    ...

    ausserdem lass ich viele Werte über Funktionen berechnen.

    Bis jetzt muss ich für jedes Feld eine eigene Funktion schreiben (auch wenn all diese Funktionen alle das gleiche machen). Wie muss ich eine Funktion schreiben, die von mehreren feldern aus aufgerufen werden kann?

    (... document.InputForm.VARIABEL.value ....)

    Danke

    Hallo Thomas,
    mußt Du halt der Funktion mitgeben, von wo sie aufgerufen wird, z.B. so:

    function komma(name)
    { document.InputForm[name].value = document.InputForm[name].value.replace(",",".");
    }

    <input type = 'text' name = 'r115' onChange = "komma(this.name)">

    Gruß Lutz.