Hallo zusammen.
Als Beginner auf dem Gebiet PHP/Java habe ich mir folgendes Projekt vorgenommen, wobei ich um Unterstützung bitte.
Ein verschachteltes Formular soll Auswahlfelder bereitstellen und am Schluß eine bedingte Antwort ausgeben.
Also Auswahlmenü 1
bedingt Auswahlmenü 2
bedingt Antwort.
So habe ich es bisher programmiert bekommen (Ausschnitt):
Der Inhalt der Auswahlfelder und Ergebnisse (Antworten) ist um ein vielfaches länger als der Codeausschnitt!
Anstatt jedes Mal die Bedingungen als var xxx mit if else zu stapeln, wäre es interessant, ob man die IDs nicht alle auslesen kann und dann miteinandervergleichen.
Meine Idee war, sowas wie eine Variable mit "document.getElementByName('Symptome').id;" und diese dann mit den Kategorien zu vergleichen, um damit dann das Ergebnis anzuzeigen.
Der eben genannte Befehl existiert ja so nicht. Habs auf verschiedene Arten versucht, aber nicht hinbekommen.
Ach ja. Das soll als Formular bleiben, da damit nur der Bereich eingegrenzt werden soll. Es folgt dann ein Standardformular, in dem weitere Angaben gemacht werden sollen. Alles zusammen soll dann übermittelt werden.
Kann jemand helfen?
Vielen Dank.
Als Beginner auf dem Gebiet PHP/Java habe ich mir folgendes Projekt vorgenommen, wobei ich um Unterstützung bitte.
Ein verschachteltes Formular soll Auswahlfelder bereitstellen und am Schluß eine bedingte Antwort ausgeben.
Also Auswahlmenü 1
bedingt Auswahlmenü 2
bedingt Antwort.
So habe ich es bisher programmiert bekommen (Ausschnitt):
Javascript:
<script type="text/javascript">
function einblenden(){
var kategorie = document.getElementById('kategorie').value;
if(kategorie == 100) document.getElementById('100').style.display = "block";
else document.getElementById('100').style.display = "none";
if(kategorie == 110) document.getElementById('110').style.display = "block";
else document.getElementById('110').style.display = "none";
if(kategorie == 120) document.getElementById('120').style.display = "block";
else document.getElementById('120').style.display = "none";
var ergebnis100 = document.getElementById("100").value;
if(kategorie == 100 && ergebnis100 == 101) document.getElementById('101').style.display = "block";
else document.getElementById('101').style.display = "none";
var ergebnis110 = document.getElementById("110").value;
if(kategorie == 110 && ergebnis110 == 111) document.getElementById('111').style.display = "block";
else document.getElementById('111').style.display = "none";
}
</script>
</head>
<body onload="einblenden()">
<?php $_POST[]; ?>
<form>
<select onchange="einblenden()" id="kategorie" name="Kategorie" class="form" style="width: 500px; height: 40px; position: static; margin: 5px; display: block;">
<option value="100">Kopf</option>
<option value="110">Erkältung</option>
</select>
<select id="100" name="Symptome" class="form" onchange="einblenden()" style="width: 500px; height: 40px; position: static; margin: 5px; display:none">
<option value="101">Schnarchen</option>
<option value="102">Gedächtnisschwäche</option>
<option value="103">Kopfschmerzen</option>
</select>
<select id="110" name="Symptome" class="form" onchange="einblenden()" style="width: 500px; height: 40px; position: static; margin: 5px; display:none ">
<option value="111">Bronchitis</option>
<option value="112">Grippaler Infekt</option>
</select>
</select>
<div id="101" name="Ergebnis" class="form" style="display: none;">
Unsere Empfehlung: 101
</div>
<div id="111" name="Ergebnis" class="form" style="display: none;">
Unsere Empfehlung: 111
</div>
</form>
Der Inhalt der Auswahlfelder und Ergebnisse (Antworten) ist um ein vielfaches länger als der Codeausschnitt!
Anstatt jedes Mal die Bedingungen als var xxx mit if else zu stapeln, wäre es interessant, ob man die IDs nicht alle auslesen kann und dann miteinandervergleichen.
Meine Idee war, sowas wie eine Variable mit "document.getElementByName('Symptome').id;" und diese dann mit den Kategorien zu vergleichen, um damit dann das Ergebnis anzuzeigen.
Der eben genannte Befehl existiert ja so nicht. Habs auf verschiedene Arten versucht, aber nicht hinbekommen.
Ach ja. Das soll als Formular bleiben, da damit nur der Bereich eingegrenzt werden soll. Es folgt dann ein Standardformular, in dem weitere Angaben gemacht werden sollen. Alles zusammen soll dann übermittelt werden.
Kann jemand helfen?
Vielen Dank.