Formular beim ausfüllen ändern
michel gelin
- php
0 Kerstin0 michel gelin0 Kerstin
0 Michael Schröpl
Hallo zusammen,
...ich suche eine möglichkeit ein formular beim ausfüllen zu ändern, d.h. wenn radiobutton ($second)= 1 sollen zusätzliche felder erscheinen ($addon) , dies aber nicht erst beim drücken von absenden.
ich habe dies schon vielerorts gesehen, doch habe keinen plan wie man das realisieren kann!
was bisher geschah..:
<?php
$addon = ' <p>
<input type="text" name="y01">
<input type="text" name="y02">
</p>
';
echo '
<html>
<head>
<title>tryFORM</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="try.php">
<p>
<input type="text" name="x01">
<input type="text" name="x02">
</p>
<p> nein
<input type="radio" name="second" value="0">
ja
<input type="radio" name="second" value="1">
</p>
<p>
';
if ($second == 1){echo $addon;};
echo '
<input type="reset" name="Zurücksetzen" value="Zurücksetzen">
<input type="submit" name="Abschicken2" value="Abschicken">
</p>
</form>
</body>
</html>
';
?>
Gruss
michel
Hallo Michel,
...ich suche eine möglichkeit ein formular beim ausfüllen zu ändern, d.h. wenn radiobutton ($second)= 1 sollen zusätzliche felder erscheinen ($addon) , dies aber nicht erst beim drücken von absenden.
ich habe dies schon vielerorts gesehen, doch habe keinen plan wie man das realisieren kann!
vielleicht gehts so:
<schnipp>
<input type="radio" name="second" value="1" onChange="document.form1.submit()">
</schnapp>
viele Grüsse
Kerstin
Hi Kerstin,
...gute idee, klappt auch so halb...
<schnipp>
<input type="radio" name="second" value="1" onChange="document.form1.submit()">
</schnapp>
Das ganze funktioniert aber erst wenn ich den radiobutton zweimal gewechselt habe, beim ersten wechsel tut er nichts, auch wenn ich einen radion button auf "checked" setze...
michel
Hi Michel,
ich bin ja auch dumm, sorry...so musses jetzt aber gehn ;-)
<input type="radio" name="second" value="1" onClick="document.form1.submit()">
</schnapp>
Kerstin
Hi Kerstin,
<input type="radio" name="second" value="1" onClick="document.form1.submit()">
</schnapp>
...cool so klappts! muss nur noch das checked abfangen, damit ich dann auch die richtigen daten am bildschirm und in der DB hab'.
[...]
input type="radio" name="second" value="1"';if ($second == 1){echo "checked";}; echo ' onClick="document.form1.submit()">
[...]
Danke
michel
Hi Michel,
...ich suche eine möglichkeit ein formular beim ausfüllen
zu ändern, d.h. wenn radiobutton ($second)= 1 sollen
zusätzliche felder erscheinen ($addon) , dies aber nicht
erst beim drücken von absenden.
wie wichtig ist Dir ein solcher Gimmick?
In jedem Falle wirst Du nicht umhin können, dies durch eine client-seitige
Lösung (JavaScript) zu realisieren. Falls dann die Nicht-Verfügbarkeit von
JavaScript Dein Formular unbenutzbar machen sollte, dann war es die Sache
möglicherweise nicht wert.
ich habe dies schon vielerorts gesehen, doch habe keinen plan wie man
das realisieren kann!
Ansatz: Du definierst alle maximal notwendigen Formular-Elemente, setzt
aber ihre Sichtbarkeit (CSS) dynamisch auf denjenigen Wert, den Du haben
willst. Dazu brauchst Du Event-Handler der jeweiligen Formular-Elemente,
deren Änderung Folgeeffekte auslösen sollen - und in der JavaScript-Funk-
tion, die im Falle eines solchen Events aufgerufen wird, setzt Du dann
die Sichtbarkeit der abhängigen Elemente um.
Viel Spaß beim Programmieren
Michael