Jojo55²: Problem mit Forumar-input-namen

Hallo,

Ich habe mir diese Funktion geschrieben, um eine Eingabe, die eine Grenze überschreitet, auf den Grenzwert zu setzen.

Hier ist sie:
function set_sendtowork_to_max_workers (workertype,free_workers)
{
  var formname = "form_" + workertype;
  var inputname = workertype + "_sendtowork";

if (document.forms[formname].inputname.value > free_workers)
   {
    document.forms[formname].inputname.value = free_workers;
   }
}

Das Problem besteht darin, dass ich wie man schon sieht, den inputnamen mit dem workertype kombinieren will.
aber leider versucht Javascript irgendwie auf das Element "inputname" zuzugreifen...
Es ersetzt sozusagen den Variablennamen "inputname" nicht mit dem Inhalt, sondern verwendet ihn wie einen ganz normalen String...

Es wäre echt cool, wenn mir da jemand helfen könnte ;)
Bin über JEDE Antwort froh

  1. Hallo Jojo55²

    Das Problem besteht darin, dass ich wie man schon sieht, den inputnamen mit dem workertype kombinieren will.

    Hilft Dir vielleicht getElementsByName(),  weiter, um auf das gewünschte Objekt und somit auf die gewünschten Eigenschaften des Objekts zuzugreifen? Schau Dir doch bitte das Beispiel zu [link:http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#input@title=input-Element an.

    Freundliche Grüße

    Vinzenz

    1. Hi

      Ich habe das Problem nun gelöst

      Danke für eure Antworten ;)

    2. Hallo,

      Hilft Dir vielleicht getElementsByName(),  weiter, um auf das gewünschte Objekt und somit auf die gewünschten Eigenschaften des Objekts zuzugreifen? Schau Dir doch bitte das Beispiel zu [link:http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#input@title=input-Element an.

      Das ist nicht optimal. Das document.getElementsByName() erzeugt, innerhalb eines FORM-Elements angewendet, eine HTMLCollection neu, die der Parser bei eingeschaltetem JavaScript schon längst erzeugt hat. Es verbraucht also unnötig Rechenzeit und Speicherplatz.

      Innerhalb eines FORM-Elements existiert zum Ansprechen der Elemente die Collection http://de.selfhtml.org/javascript/objekte/elements.htm. Sie kann mit .elements["Elementname"] oder elements.namedItem("Elementname") angesprochen werden. Weitere Informationen: http://www.w3.org/TR/1998/WD-DOM-19980720/level-one-html.html#ID-40002357, http://www.w3.org/TR/1998/WD-DOM-19980720/level-one-html.html#ID-75708506.

      viele Grüße

      Axel

  2. Hallo Jojo,

    if (document.forms[formname].inputname.value > free_workers)

    mach es doch genauso wie beim Formular-Element:
      document.forms[formname].elements[inputname].value

    Grüße aus Nürnberg
    Tobias