Hi,
Liebe JS-Profis, was macht diese Funktion hier:
Field.prototype.ResetClass = function(){
if ( (this.type != "button") && (this.type != "submit") && (this.type != "reset") ) {
if ( (this.elements) && (this.elements.length > 0)) {
for (var i = 0; i < this.elements.length; ++i){
if(this.elements[i].oldClassName){
this.elements[i].className = this.elements[i].oldClassName;
}
else {
this.element.className = "";
}
}
}else{
if(this.elements.oldClassName){
this.element.className = this.element.oldClassName;
}
else {
this.element.className = "";
}
};
};
};
Im wesentlichen das, was ihr Name schon aussagt - die Klasse zurücksetzen.
Wenn es sich bei dem Element, „auf“ dem sie aufgerufen wird, um einen Formular-Button handelt – dann lässt sie einfach die Finger davon.
Andernfalls, wenn es sich um ein Formular handelt, durchläuft sie alle dessen Elemente – oder kümmert sich, wenn es nur ein spezifisches Formularelement ist, nur um dieses.
Beim zurücksetzen schau sie, ob ein vorheriger Inhalt des class-Attributes in der Eigenschaft oldClassName zwischengespeichert wurde – wenn ja, stellt sie diesen wieder her, andernfalls weist sie einen Leerstring zu.
Da scheint mir auch der Fehler zu liegen – denn offenbar kommt der Autor hier selber damit durcheinander, auf was er eigentlich gerade operiert.
this.elements, this.elements[i] und this.element werden hier so bunt gemixt angesprochen, dass das kaum einen Sinn ergibt.
MfG ChrisB
--
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?