was meinst du mit
Schalte die <input>-Elemente in einer Schleife aus.
Wie schon gesagt wurde, dachte ich, du wolltest einen ganzen Block ausschalten. Falls dem so ist, kannst du dir wie gehabt das <div>- oder Was-auch-immer-Element ranholen und in einer Schleife sein childNodes-Attribut duchlaufen (ist ein Feld, das alle Kinder enthält), in etwa so:
var i;
var d = document.getElementById("element-id");
for (i = 0; i < d.childNodes.length; i++) {
if (d[i].nodeName = "INPUT") {
d[i].disabled = true;
}
}
Das Beispiel ist allerdings nicht gerade elegant, weil es a) nur <input>-Element ausschaltet (für <textarea> & Co. müsste die if-Abfrage entsprechend erweitert werden) und b) nur die direkten Kinder von element-id betrifft (für Kindeskinder müsste alles in eine Funktion, die sich rekursiv aufruft).
Aber das Prinzip sollte deutlich geworden sein, die Erweiterung überlasse ich dir zur Übung.
Die Elemente sind doch statisch auf dem Form und je nach Bedingung (die kommt per PHP aus einer Datenbank)
Du entscheidest per PHP? Machst du AJAX? Falls nicht, schreib doch gleich in PHP das disabled-Attribut zum betreffenden Element. Per PHP Javascript-Code zu erzeugen, der dann seinerseits die Elemete ausschaltet, finde ich etwas sehr kompliziert (zumindest so, wie es sich bis hierhin darstellt).