Probleme mit Show/hide in Formularen

  • Hallo,

    bin leider in JavaScript Laie daher komme ich nicht weiter.
    Ich möchte das in einem Formular mit Auswahlfeld, bei einer bestimmten Auswahl ein weiteres Textfeld erscheint.

    Code
    if(document.getElementById('Test')[3].selected == true) {     
           document.getElementById('layer').style.visibility = 'visible';}
    Code
    <select name="Test" id="Test" onchange="divZeigen()"> 
      <option>1</option> 
      <option>2</option> 
      <option>3</option> 
      <option>4</option> 
    </select> 
    <div id="layer" style="visibility:hidden"> 
      <br><input type="text" name="Test1" size="45" value="Bitte angeben" onFocus="if(this.value==defaultValue)this.value='';">
    </div>


    Funktioniert auch, jedoch klickt der User auf 8 und dann auf aktualisieren, dann steht im Auswahlfeld auch 8, aber der 2. Layer ist weg.

    Wie kann ich das machen, damit dieser da bleibt?


    Danke bereits jetzt für Eure Hilfe!!!!

    lg

    Radagast

  • so wird beim ausgewählten index von 3 (also der vierte eintrag des dropdowns) des ding angezeigt...!

    edit:
    ach moment.. hab nur die hälfte auf anhieb kapiert...
    des soll ja nachm aktualisieren auch so bleiben...
    das kannste mit javascript nicht realisieren solange du nur ein fenster hast...
    da brauchste nen zweites fenster für oder eben was serverseitiges wie php...

    Einmal editiert, zuletzt von synaptic (2. Januar 2009 um 16:31)

  • Hallo,

    danke für Deine Antwort.
    Bin nun auf folgendes draufgekommen.
    Erstellt man 2 solche Auswahlfelder, klickt beim ersten auf 4 erscheint das Textfeld. Drückt man dann auf aktualisieren, steht beim ersten Auswahlfeld zwar 4 aber das Textfeld ist weg. Klickt man beim 2. Auswahlfeld auf B erscheinen beide Textfelder.
    Kann das einer erklären, wieso? Kann man da draus was machen dass es doch funktioniert?

  • die problematik bei der ganzen sache ist, dass du bei nem reoad der seite alles was mit dem script zu tun hat zurücksetzt. mir kommt grad die idee der cookies in den sinn..
    da hab ich gestern nicht dran gedacht, weil ich noch nie wirklich damit gearbeitet habe.
    du könntest beim auswählen der textfelder nen cookie schreiben und das dann beim laden der seite direkt auslesen lassen, dadurch könntest du dann entsprechend die visibility der divs steuern, die auswahl der dropdowns bleibt ja bestehen (obwohl bei der geingen mende an infos kannste auch die position der dropdowns speichern)

  • gerne...

    muß gestehen, dass das Problem mit dem aktualisieren nicht gelöst ist, mir ist es mehr darum gegangen dass bei Kontrolle der Felder die angegebenen Daten wieder zu sehen sind, und das funktioniert jetzt:

    in asp:

    Man sieht ein Formular mit 1 Auswahlfeld und 1 Textfeld.
    Wählt man im Auswahlfeld 4 dann kommt ein zusätzliches Textfeld.
    Gibt man im "Name"-Textfeld nichts an und klickt auf absenden, dann kommt dieselbe Seite nochmal mit der Bitte um Eingabe. Dabei bleibt das erste Auswahlfeld+evtl. Textfeld erhalten.


    Auf dass es irgendjemanden nutzen möge.

    lg

    Radagast

  • also mit cookies funzt des ganze auch, habs jetzt aber nur auf deine version speziell zugeschnitten...