JS - Variablen in HTML mehrfach belegen, mit einer Funktion auswerten
bearbeitet von Rolf BHallo Ammeres,
ich verstehe deinen inhaltlichen Ansatz noch nicht. Du hast ein Fieldset mit einem Eingabefeld, und wenn ein bestimmter Wert eingegeben wird, sollen andere Fieldsets sichtbar werden?
Ist das ein Quiz / eine Wissensabfrage? Denn andernfalls wäre eine Checkbox benutzerfreundlicher.
Oder ist deine Logik eigentlich umfangreicher und es gibt mehrere Werte, und je nach Wert wird das eine oder andere Fieldset sichtbar? In dem Fall könntest Du über Radiobuttons nachdenken statt einem Eingabefeld.
Wie genau man deinen Code so strukturiert, dass er möglichst aus wiederverwendbaren Komponenten besteht, hängt von dieser Fachlichkeit ab.
Und das hier:
~~~js
<fieldset name="..." class="EinAusblenden">
<script>
let WertIst = document.getElementById("vorherigeAuswahl").value
let WertSoll = "RichtigeAuswahlFürDiesesFieldset"
</script>
~~~
hat noch ein ganz anderes Problem: Du findest in WertIst **immer** nur den Wert vor, den das Eingabeelement mit der id "vorherigeAuswahl" beim Laden der Seite hat. Benutzereingaben findest Du darin nicht. Das liegt daran, dass der Browser beim Laden der Seite nicht an einem Script anhält und auf Benutzereingaben wartet. Er führt alles von oben nach unten aus und wartet dann auf Benutzerinteraktion.
Du musst also, wie Jürgen schrieb, auf das input- oder change-Event der Eingabefelder reagieren und in der Funktion, die das Event behandelt, den Wert des Eingabefeldes auslesen, das das Event ausgelöst hat. Und dann kannst Du basierend darauf andere Eingabefelder bzw. Fielsets freischalten. Der Unterschied zwischen input und change ist, dass input nach jedem Zeichen, dass Du eingibst, sofort reagiert und change erst, wenn Du das Feld verlässt.
_Rolf_
--
sumpsi - posui - obstruxi