Problem mit Forumar-input-namen
Jojo55²
- javascript
0 Vinzenz Mai0 Jojo55²0 Axel Richter
1 Tobias Kloth
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
Hallo Jojo55²
Das Problem besteht darin, dass ich wie man schon sieht, den inputnamen mit dem workertype kombinieren will.
Freundliche Grüße
Vinzenz
Hi
Ich habe das Problem nun gelöst
Danke für eure Antworten ;)
Hallo,
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
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