Don P: getElementsByName('name********')

Beitrag lesen

Hallo,

Den relevanten Teil der Funktion stelle ich mir so vor:
document.GetElementByName('mitarbeiter*').setAttribut("readonly", "true", 0);

Das Problem befindet sich dort, wo das * steht. Wie bringe ich Javascript dazu alle Elemente, die mit 'mitarbeiter' beginnen zu selektieren?

Das Problem fängt schon früher an, bei document.GetElementByName
JavaScript ist sehr pingelig mit den Schreibweisen. Eine Methode "GetElementByName" gibt's normalerweise nicht, auch keine namens "setAttribut"

Ich erschlage sowas manchmal mit einem Mammut-Statement:

var inputs = arrayOf(document.[ref:self812;javascript/objekte/document.htm#get_elements_by_tag_name@title=getElementsByTagName]('[ref:self812;html/referenz/attribute.htm#input@title=input]')).[link:http://www.javascriptkit.com/jsref/arrays.shtml@title=filter](function(elt){return elt.name && elt.name.[ref:self812;javascript/objekte/string.htm#match@title=match](/^mitarbeiter/);}).[link:http://@title=forEach](function(elt){elt.[ref:self812;javascript/objekte/elements.htm#readonly@title=readOnly]=true;});  

Eine Funktion arrayOf() muss man sich zuerst basteln, die anderen existieren bereits, aber nicht in allen Browsern.
Also mach's lieber "zu Fuß".

Gruß, Don P