Joseph: Nach Checkbox Betätigung Formular ausklappen

Hi,

kennt jemand ein Script welches es ermöglicht, dass nach dem anklicken eines Checkbox-Feldes ein weiterer Formularteil ausgeklappt wird.

Also meine Idee ist die:
Wenn jemand mir eine Mail über mein Kontaktformular schreibt, dessen Adresse ich schon habe, dann setzt er einen Haken in "Adresse Bekannt" und es erscheint nur das Feld "NAME" zum eintragen.

Wenn er einen Haken in "Unbekannt/Erste Mail" setzt, dann erscheinen die Felder "NAME,ADRESSE,PHONE,EMAIL,..."

Es soll allerdings keine neue Seite sein.
Dann könnte ich ja einfach Links nutzen :-)

Schöne Grüße

Joseph

  1. hi joseph,

    sowas habe ich auf Lager...designen musst du es selbst

    <html>
    <head>
    <title>mail probe</title>
    <meta name="author" content="Katti">
    <meta name="generator" content="Ulli Meybohms HTML EDITOR">

    <script language= "JavaScript" type="text/javascript">
    var j = 0;

    function alles_weg() {
       if (document.getElementById("tabelle").rows.length > 0)
       {  //alle Zeilen löschen - man muss bei der zuletzt angelegten Zeile beginnen !
          for (var i=document.getElementById("tabelle").rows.length-1;i>=0;i--) {
             document.getElementById("tabelle").deleteRow(i);
          }
          //sehr wichtig, sonst stimmen die ganzen Indizes (für die Tabellezeilen) nicht mehr
          j = 0;
       }
    }

    function neues_elem(a_type, a_id, a_inhalt, a_beschriftung) {
    //neue Zeile in die Tabelle mit der id "tabelle"
      var Zeile = document.getElementById("tabelle").insertRow(j);
    //um 1 erhöhen
      j++;
    //neue Zelle erzeugen
      var Zelle = document.createElement("td");
    //element definieren, das sich in der Zelle befinden soll
      var element = document.createElement("input");
    //type festlegen
      element.type = a_type;
    //einheitliche Breite für alle Textfelder
      if (a_type == "text") element.size = 10;
    //id festlegen für (eventuelle) spätere Ansprache des Elementes
      element.name = a_id;
    //beschriftung definieren
      var caption = document.createTextNode(a_beschriftung);
    //Wert definieren
      element.value = a_inhalt;
    //Element an die Zelle anhängen
      Zelle.appendChild(caption);
      Zelle.appendChild(element);
    //Zelle an die Zeile anhängen
      Zeile.appendChild(Zelle);
    }
    </script>

    </head>

    <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
    <form name="Eingabe" action="probe2.php" method=post>
    <table>
    <tr><td><input form="Eingabe" type="radio" id="r1" name="kunde_typ" value="0" onClick="alles_weg();neues_elem('text', 'el1', '', 'Name: ')">Bekannt</td></tr>

    <tr><td><input form="Eingabe" type="radio" id="r2" name="kunde_typ" value="1" onClick="alles_weg();neues_elem('text', 'el1', '', 'Name: ');neues_elem('text', 'el2', '', 'Adresse: ');neues_elem('text', 'el3', '', 'Phone: ')">Unbekannt</td></tr>
    <tr><td>
    <table id="tabelle"></table>
    </td></tr>

    <tr><td><input type="submit" style="width:80" value="Abfrage"></td></tr>
    </table>
    </form>
    </body>
    </html>

    cu kati

    Hi,

    kennt jemand ein Script welches es ermöglicht, dass nach dem anklicken eines Checkbox-Feldes ein weiterer Formularteil ausgeklappt wird.

    Also meine Idee ist die:
    Wenn jemand mir eine Mail über mein Kontaktformular schreibt, dessen Adresse ich schon habe, dann setzt er einen Haken in "Adresse Bekannt" und es erscheint nur das Feld "NAME" zum eintragen.

    Wenn er einen Haken in "Unbekannt/Erste Mail" setzt, dann erscheinen die Felder "NAME,ADRESSE,PHONE,EMAIL,..."

    Es soll allerdings keine neue Seite sein.
    Dann könnte ich ja einfach Links nutzen :-)

    Schöne Grüße

    Joseph

  2. Aloha!

    kennt jemand ein Script welches es ermöglicht, dass nach dem anklicken eines Checkbox-Feldes ein weiterer Formularteil ausgeklappt wird.

    Also meine Idee ist die:
    Wenn jemand mir eine Mail über mein Kontaktformular schreibt, dessen Adresse ich schon habe, dann setzt er einen Haken in "Adresse Bekannt" und es erscheint nur das Feld "NAME" zum eintragen.

    Im Gegensatz zur Version von Kati würde ich vorschlagen, die zusätzlichen Felder einfach in ein <div> zu packen und es, je nach Wunsch, entweder anzeigen (CSS: visibility:visible) oder verstecken (visibility:hidden).

    Hat den Vorteil, dass es auch in Opera funktioniert. Hat den Nachteil, dass es möglicherweise in Netscape 4 nicht funktioniert, wenn es nicht positioniert ist (egal, ob absolut oder relativ).

    Und natürlich: Der ungenutzte Platz wird freigelassen - was auch ein netter Effekt sein kann.

    - Sven Rautenberg