Nach Checkbox Betätigung Formular ausklappen
Joseph
- dhtml
0 kati0 Sven Rautenberg
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
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
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