Auswahlfeld mit unterauswahl??

  • Hi leutz..
    sagt mal ist es möglich das ich ein EINZEILIGES AUSWAHLFELD habe in dem ich ein WERK aussuchen.. z.B. werk1, werk2, wer3 usw..
    aber in jedem werk gibt es maschinen..
    also werk1 hat a1, a2, a3
    werk2 hat b1, b2, b3, b4
    werk3 hat c1 usw..
    kann ich da wenn ich auf ein werk klicke irgendwie ne unterauswahl öffnen.. muss nicht unbedingt mit html gehen.. php oder so ginge auch..
    BITTE HELFT MIR!!!
    suche schon eeeeewwwwiiiiiiiig und 3 tage....
    danke im vorraus

    gruss
    MScalli

  • Hi,

    Das hier:http://de.selfhtml.org/html/formulare…m#menuestrukturscheint leider nicht mit allen Browsern zu funktionieren, sonst wär es wohl, was du suchst.

    Aber CSS und Javascript könnte helfen, im Grunde ist das doch genau so was wie ein Menü. Dazu hätte ich was:
    Menüs aus Listen mit CSS
    vielleicht hilft das ja weiter. In einem Formular müsste man halt statt links Checkboxen nehmen oder so was (sieht wahrscheinlich auch etwas komisch aus).

    Gruß
    Marcus

  • merci leutz..
    das erste sieht nicht so aus wie es soll.. so was hatte ich schon.. *g*

    und das zweite... lol... sowas ähnliches habe ich selber geschrieben.. nur ein "bisschen" länger ;)

    das prob ist das dann jedes mal die meldung kommt ob ich das zulassen will usw. weil da ein scipt drin ist und das könnte ja meinem pc schaden usw...
    und mit diesem programm werden sehr viele leutz ubers netz arbeiten müssen.. bin im praktikum und schreib das für ne riiiieeeeeesen firma..
    wenn das mit php ginge?!?!?! das wäre cool!!
    trotzdem fettes merci

    gruss MScalli

  • Hi,

    klar geht das mit PHP (sag das doch gleich :wink: ), aber das ist nicht mehr dynamisch, weil die Auswahl Serverseitig zusammengestellt wird, d.h. bei jeder Auswahl muss die Seite neu geladen werden um das Untermenü darzustellen.

    Gruß
    Marcus

  • das iss ja das prob.. und dann sind die anderen felder ja widda leer.. also die wo man schon was angeklickt hat. mann ich tu jetzt an dem prob echt schon ewig rum und war schon in sooo vielen foren.(dieses ist das einzeige mit ner vernünftigen antwort gewesen *g*)
    ich glaub das liegt nicht an mir sondern das ist wirklich nicht sooo einfach..

  • Hi,

    ah! Da kommen wir der Sache doch schon näher und dieses Problem läßt sich wirklich leicht beheben, du musst nur die Daten, die schon eingegeben wurden wieder anzeigen.

    Etwa so:

    PHP
    <label for="Name">Name: </label>
    		<input type="input" name="kontakt[Name]" size="20" value="<?php if (isset($_REQUEST['Name'])) echo $_REQUEST['Name']; ?>">
    
    
    		<label for="Email">Email: </label>
    		<input type="input" name="Email" size="20" value="<?php if (isset($_REQUEST['Email'])) echo $_REQUEST['Email']; ?>">


    für gewöhnliche Eingaben und:

    PHP
    <select name="selectme">
    	<option value="1"<?php if (isset($_REQUEST['selectme']) && $_REQUEST['selectme'] == 1) echo ' checked'; ?>>1</option>
    	<option value="2"<?php if (isset($_REQUEST['selectme']) && $_REQUEST['selectme'] == 2) echo ' checked'; ?>>2</option>
    </select>


    für Formularfelder.

    Man kann das sicher eleganter machen, aber auf die schnelle dürfte das so oder so ähnlich funktionieren.

    Gruß
    Marcus

  • Vielen dank für deine hilfe.. aber wenn ich das so sehe mache ich glaub 2 felder *g* zum einzeln auswählen und gut...
    habe in dem formular so um die 30 eingabefelder.. des wird zuuuu heftig
    aber den quellcode von dir kopier ich mir mal und probs in nem kleinen programm aus.. ;)
    man weiss nie wann man sowas mal braucht!!

    gruss
    MScalli

  • Hi,

    da lohnt es sich ja schon ein Programm zu schreiben, das selbstständig entsprechende Felder in einem Template ersetzt.

    Das Template müsste etwa so aussehen:

    Das PHP-Script müsste dieses Template einlesen und nachschauen ob im $_REQUEST-Array entsprechende Felder gefüllt sind (unabhängig von groß und Kleinschreibung) und passende Ersetzungen vornehmen (beim select-Feld sind die zu ersetzenden Bereiche aus Feldname und Variable zusammengesetzt, das muss im Script wieder auseinaderklamüsert werden).
    Vor der Ausgabe der Templates müssen dann nur die nicht gefüllten Felder entfernt werden, das geht mit:

    Code
    $template = preg_replace("/\|(\S+)\|/", '', $template);

    Viel Spaß beim Programmieren (aber so ein Programm kann man immer wieder brauchen - ich hab auch schon eine kleine Sammlung davon)

    Gruß
    Marcus

  • jetzt verstehe ich nur noch bahnhof *g*
    sorry das ist mir bisschen zu hoch!!!!