Eda: Typ des Formularfelds ändern

Hallo Leute

Ich bastle mit PHP eine Suchfunktion für meine HP. Da gibt es ein Suchfeld und eine Dropdown-Liste, in der man wählen kann, ob man einen Namen oder einen Text oder etwas innerhalb einer gewissen Zeitspanne sucht. Im letzteren Fall möchte ich, dass das Suchfeld durch zwei Suchfelder ersetzt wird.

Ist so etwas möglich? Per Javascript ein Formularfeld durch ein anderes ersetzen?

Vielen Dank für sachdienliche Hinweise
Eda

  1. Du hast also ein Suchfeld bei dem du zum Beispiel vergangenes Datum auswählen kannst? Und nun  möchtest du, dass ein zweites Suchfenster erscheint, nachdem du bei dem ersten Fenster eine Zeit ausgewählt hast?

    Ich würde das mit JS machen:
    und zwar:

    Das zweite Suchfenster würde ich eigentlich immer sichtbar machen, aber disabled und sobal man im ersten Fenster eine Zeit oder ein Datum auswählt, wird das zweite Fenster aktiviert!

    So ungefähr willste das ja haben oder?

    Hallo Leute

    Ich bastle mit PHP eine Suchfunktion für meine HP. Da gibt es ein Suchfeld und eine Dropdown-Liste, in der man wählen kann, ob man einen Namen oder einen Text oder etwas innerhalb einer gewissen Zeitspanne sucht. Im letzteren Fall möchte ich, dass das Suchfeld durch zwei Suchfelder ersetzt wird.

    Ist so etwas möglich? Per Javascript ein Formularfeld durch ein anderes ersetzen?

    Vielen Dank für sachdienliche Hinweise
    Eda

    1. Die Felder je nach Notwendigkeit zu aktivieren/deaktivieren ist ein guter Gedanke. Lassen sie sich aber auch ausblenden, so dass man sie nicht sieht?

      Danke, Eda

      1. in etwa so?

        getestet und für gut befunden!

        <html>
        <head>

        <script type="text/javascript">

        function show()
        {
           if(document.getElementById)
             document.getElementById("vor").style.visibility = "visible";
        }

        </script>
        </head>

        <body>
        <form name="Formular" method="POST">
           <table border=0 align="center">
              <tr>
                <td ID="nach" class=heading bgcolor=ccccc align="center">
                    Ihr Nachname
                </td>
                <td align="center">
                    <input type="text" onkeydown="show();" name="nachname"/ >
                </td>
             </tr>
             <tr>
               <td class=heading bgcolor=ccccc align="center">
                   Ihr Vorname
               </td>
               <td ID="vor" style="visibility:hidden" align="center">
                   <input type="text"  name="vorname"/ >
               </td>
             </tr>
           </table>
        </form>
        </body>
        </html>

        1. Das ist es! Vielen dank. Sogar noch mehr als erwartet.

          1. Mehr als erwartet? Ist doch genau das, was du beschrieben hast?

            Ich habe extra eimne abgespeckte Version hier rein gemacht! Ich glaube, dass du den Code natürlich noch anpassen musst! Z.B kannst du den Fkt.aufruf ja nicht bei einem onkeydown belassen sondern da müsstet du ja einen onblur oder sowas für haben!

            Aber komplett ist das Ding ja wohl nicht!

            Freut mich aber immer wieder, wenn "ich" jemanden helfen konnte, da ich in Sachen JS auch noch kein Kenner bin und mich da grade intensiv einarbeite! Sohelfen auch mir die Probleme von anderen!

            Das ist es! Vielen dank. Sogar noch mehr als erwartet.

  2. Also, ich nochmal.

    Da kannste gut mit JS arbeiten.
    Du hast deinem Formular ja einen Namen gegeben und die Checkboxen haben beide auch einen unterschiedlichen Namen.

    Jetzt schreibste dir eine Funktion, die, sobald in der ersten Checbkox ein Datum ausgewählt wurde, die zweite Checkbox aktiviert!

    gaaaaaanz vereinfachtes Beispiel

    funtion makeVisible()
    {
          var Checbkox1 = document.Formular.first.value;
          var Checbkox2 = document.Formular.second.value;

    if(Checkbox1!="DATUM")
              Checbkox2.disabled=true;
          else
              Checbkox2.disabled=false;
    }

    Zum Beispiel, ne.

    Und diese Funktion musste natürlich in der ersten Checkbox aufrufen.

    Das Wort "Datum" ist nur so hingeschrieben, da muss dann dein richtiger Wert stehen, nach dem er prüfen soll und das Wort Formular ist halt der Name deines Formulars.

    Diese Lösung ist mir jetzt so als einfachste Lösung eingefallen!
    Es gibt bestimmt auch andere und vielleicht auch bessere Lösungen, aber dafür reichts.