select verschachteln

Zwergnase

Grünschnabel
Hi Leute,

bin PHP Neuling und hab ein Problemchen mit der Select Verschachtelung.

Mein bisheriges Programm
PHP:
<?php
print("<HTML><HEAD><TITLE>TEST</TITLE></Head><BODY>\n");
#----------------------------------------------------------------------------------------
#Lieblings...

hna();

function hna(){
print("<FORM ACTION=\"$PHP_SELF\" METHOD=post>\n");
print ("<TABLE BORDER=0>");
print ("<TR><TD> Lieblings ... </TD>");
print("<TD width=7%> </TD>");
print("<TD>");
print ("<SELECT SIZE=1 value=a NAME=\"a\">");
print ("<OPTION > </OPTION><OPTION >Lieblingseis</OPTION><OPTION>Lieblingsfarbe</OPTION>");
print ("</SELECT>");
print ("</TD");
print("</form>");
   }
#----------------------------------------------------------------------------------------
#Untergruppe EIS

hnb();

function hnb(){
print("<FORM ACTION=\"$PHP_SELF\" METHOD=post>\n");
print ("<TABLE BORDER=0>");
print ("<TR><TD>Diese Sorte mag ich am liebsten: </TD>");
print("<TD width=7%> </TD>");
print("<TD>");
print ("<SELECT SIZE=1 NAME=\"b\">");
print ("<OPTION > </OPTION><OPTION>Erdbeere</OPTION><OPTION>Schokolade</OPTION>");
print ("</SELECT>");
print("</TD>");
print("</form>");
 }

 #----------------------------------------------------------------------------------------
#Untergruppe 2 EIS

hnc();

function hnc()        {
print("<FORM ACTION=\"$PHP_SELF\" METHOD=post>\n");
print ("<TABLE BORDER=0>");
print ("<TR><TD>Mit Stückchen? </TD>");
print("<TD width=7%> </TD>");
print("<TD>");
print ("<SELECT SIZE=1 NAME=\"c\">");
print ("<OPTION > </OPTION><OPTION>ja</OPTION><OPTION>nein</OPTION>");
print ("</SELECT>");
print("</TD>");
print("</form>");
 }






 #----------------------------------------------------------------------------------------
#Untergruppe FARBE

hnd();

function hnd()  {
print("<FORM ACTION=\"$PHP_SELF\" METHOD=post>\n");
print ("<TABLE BORDER=0>");
print ("<TR><TD>Diese Farbe mag ich am liebsten: </TD>");
print("<TD width=7%> </TD>");
print("<TD>");
print ("<SELECT SIZE=1 NAME=\"d\">");
print ("<OPTION > </OPTION><OPTION>Blau</OPTION><OPTION>Rot</OPTION>");
print ("</SELECT>");
print("</TD>");
print("</form>");
 }

#----------------------------------------------------------------------------------------
#Untergruppe 2 Farbe

hne();

function hne() {
print("<FORM ACTION=\"$PHP_SELF\" METHOD=post>\n");
print ("<TABLE BORDER=0>");
print ("<TR><TD>hell oder dunkel? </TD>");
print("<TD width=7%> </TD>");
print("<TD>");
print ("<SELECT SIZE=1 NAME=\"e\">");
print ("<OPTION > </OPTION><OPTION>hell</OPTION><OPTION>dunkel</OPTION>");
print ("</SELECT>");
print("</TD>");
print("</form>");
 }

#--------------------------button------------------------------------------------------------------


print '<table>
<tr><th colspan=2><input type="reset" value="Neue Abfrage"></td></tr>
<HR>
 </table>';

?>

Wie würde man das programmieren, wenn ich mit der Auswahl des ersten Selects (also Lieblingseis oder Lieblingsfarbe) automatisch das richtige 2. Dropdown-Menü(also je nach dem was ich anklicke die Untergruppen des 1. Selects) aufruft. Diese Verschachtelung sollte aus immer weiter fortgesetzt werden können.

Möchte sowas wie einen Fragebogen daraus machen. Das oben ist nur eine Vereinfachung dessen was ich mir vorstelle.

Auch das mit dem "Reset"-Button funktioniert nicht für alle Felder.

Vielleicht kann mir von euch jemand helfen. *Verzweiflung*

Danke schon mal!! Zwergnase
 
naja, damit kann ich leider nix anfangen:(

ich hab das problem, das die verschachtelung nicht funktioniert.
Eigentlich sollte ja wenn ich
PHP:
...
print ("<SELECT SIZE=1 value=a NAME=\"a\"  onclick=\"zwi($a)\">");
print ("<OPTION > </OPTION><OPTION >Lieblingseis</OPTION><OPTION>Lieblingsfarbe</OPTION>");
print ("</SELECT>");
...

function zwi($a) {
if ($a=="Lieblingseis"){echo "blabla!";}
else if ($a=="Lieblingsfarbe"){hna();}
}

schreibe die "function zwi($a)" beim klicken aufgerufen werde, oder? Und diese würde wiederum in die "richtige" Unterfunktions springen?

:confused:
 
PHP ist eine Serverseitige Sprache.
Demzufolge ist php völlig egal wo irgendwer rum klickt denn es merkt davon garnichts.

Wenn du möchtest das beim klicken etwas passiert brauchst du eine Clientseitige Sprache á la JavaScript.
 
Also kann ich Verschachtelungen dieser Art mit PHP eigentlich vergessen

Für was ist dann eigentlich "onclick=..." verwendbar?
 
Dropdown Verknüpfung mit Funktion

Hi Leute,

vielleich kann mir jemand von euch weiterhelfen. Bin Neuling und schon an meine Grenzen gestoßen.

Also mal mein Programm:
PHP:
<html>
<head>
    <title>Lieblings...</title>
 </head>
<body>
<!-- ----------------------------------------------------------------------------------------
Lieblings....//-->

<FORM ACTION="" NAME="hna" METHOD="post">
Lieblings ...:     <SELECT SIZE="1" id="auswahl" onchange="bla()">
<OPTION value="0"> </OPTION>
<OPTION onclick="sub_Eis()" value="1">Lieblingseis</OPTION>
<OPTION onclick="sub_Farbe()" value="2">Lieblingsfarbe</OPTION>
</SELECT>
</form>

<!------------------------------------------------------------------------------------------
#Untergruppe EIS  //-->
<script type = "javascript">

function sub_EIS() {
document.write("<FORM ACTION="" NAME="hnb" METHOD="post">");
document.write("<"Du hast Eis genommen!"> <SELECT SIZE="1" NAME="hnb2"> ");
document.write("<OPTION> </OPTION>");
document.write("<OPTION>Erdbeere</OPTION> ");
document.write("<OPTION>Schokolade</OPTION>");
document.write("</SELECT> ");
document.write("</form>");

                 }

<!------------------------------------------------------------------------------------------
#Untergruppe Farbe  //-->

 function sub_Farbe() {
document.write("<FORM ACTION="" NAME="hnd" METHOD="post">  ");
document.write("<"Diese Farbe mag ich am liebsten:">     <SELECT SIZE="1" NAME="hnd2">  ");
document.write("<OPTION > </OPTION><OPTION >Blau</OPTION><OPTION>Rot</OPTION>");
document.write("</SELECT> ");
document.write(" </form> ");
}

    </script>

</form>
</body>
</html>


Ich will, wenn man auf eine Option im Select klickt, dass man zu einer weiteren function geleitet wird. Irgendwie bekomm ich das so nicht hin. kann mir wer bei meinem Programm helfen bzw. Tipps geben, wie ich das besser machen kann.
Das weitere Problem ist, dass ich zum Schluss eine Verschachtelung machen möchte mit ca. 7 Functions. (sowie bei einem Fragebogen, wenn man das erste anklickt, kommt die nächste Frage etc.)

Danke schon mal.

Zwergnase
 
Auflistung deiner momentanen Fehler, von denen du mehrer selbst gefunden hättest wenn du in die Fehlerkonsole geschaut hättest:

  • Fehler:
Code:
bla is not defined
Klar: Gibt ja auch keine Funktion bla in deinem Dokument
  • Fehler:
Code:
sub_Eis is not defined
Auch hier wieder trivial: Du hast deine Funktion auch sub_EIS genannt.
HTML:
<script language="javascript" type="text/javascript">
  • Dann die Hochkomma. Du verwendest in deinen print-Ausgaben im Text doppelte Hochkomma, worauf der String dort endet.
HTML:
document.write("<FORM ACTION="" NAME="hnb" METHOD="post">");


Und wenn ich da weiterschau seh ich noch mindestens 5 weitere Fehler. Irgendwie schaut das aus als hättest dus einmal probiert, es hat nicht funkioniert und du hasts ins Forum gestellt.
 

Neue Beiträge

Zurück