Problem mit Auslösen JavaScipt-Funktion

netghost78

Fleet Captain Special
Mitglied seit
08.05.2005
Beiträge
257
Renomée
2
Standort
Schmalkalden
Servus liebe Gemeinde,

Ich habe eine Reihe von Radiobuttons, die zusammengehören. Der letzte Button stellt die Stufe "Benutzerdefiniert" dar. Ich habe eine Funktion, die auf das Ereignis onClick reagiert und prüft, welchen Wert der Radiobutton hat und dementsprechend die benutzerdefinierten Felder deaktiviert oder aktiviert. Dies funktioniert auch wunderbar.
Der Wert des Radiobuttons wird dynamisch aus der Datenbank ausgelesen und gesetzt.

Nun zum Problem:
Der Wert ist ja vorher unbekannt und wird erst beim Erstellen der Seite gesetzt. Daher weiß ich zu dem Zeitpunkt noch nicht, ob die benutzerdefinierten Felder aktiviert oder deaktiviert sein müssen.

Ein Radio-Button sieht so aus:
PHP:
echo '<input type="radio" name="skinID" value="'.$skins[$x][ID].'" onClick="disable_own_colors(this)"';
  if ($ergebnis[skinID]==$x)
    echo ' checked';
echo '>'.$skins[$x][name];

Wie muß ich nun den JavaScript-Funktionsaufruf gestalten, den ich explizit ohne Ereignis aufrufe, um die JavaScript-Funktion prüfen zu lassen, ob sie die Felder behandeln muß oder nicht?
 
Kannst du es nicht mit PHP machen?

PHP:
<!-- Deine Radiobuttons -->
<div id="custom_fields"<?php if($value_radiobutton != 'custom') { echo ' style="display: none;"'; } ?>>
  <!-- Deine Benutzerdefinierten Felder -->
</div>

Verstehst wie ichs mein?

Gruß,
Max

EDIT: Alternativ könntest du per onload-Attribut im body-Tag den Wert des Formulars prüfen lassen und entsprechend darauf reagieren.
 
Ich verstehe, wie du das meinst. Die Frage ist, ob ich dann die Elemente auch dynamisch wieder aktivieren kann. Angezeigt werden sie, sie werden nur deaktiviert und das soll auch so bleiben. Die Felder werden in Abhängigkeit von dem Status des Radio-Buttons dynamisch ein- oder ausgeschaltet. Mit anderen Worten: Nein, mit PHP geht das nicht, zumal die Funktion zum Ausführen schon da ist, es geht nur um den richtigen Aufruf.

Mit dem onload hab ich auch probiert, aber irgendwie funktioniert das mit dem Wörtchen "this" nicht.

Mal eine Zeile aus dem Javascript-Code:
Code:
field.form.tempfarbe1.disabled = false;
Wobei field eine Variable ist, die von this belegt wird beim Aufruf.
 
Zuletzt bearbeitet:
Ja das geht schon in die richtige Richtung.

Ich habe jetzt einiges probiert, aber es funktioniert nicht. Mein Formular heißt sitesettings, meine Elemente heißen tempfarbe1 bis tempfarbe7.

Ich habe es probiert mit
Code:
document.sitesettings.getElementByName("tempfarbe1").disabled = false;
und etlichen Kombinationen damit. So schwer kann es doch nicht sein. Ich bekomm es aber nicht hin.
 
Zurück
Oben Unten