mod_form Mehrseitige Formulare
-
- ConPresso-Checker
- Beiträge: 101
- Registriert: 01.01.1970 02:00
- Hat sich bedankt: 6 Mal
mod_form Mehrseitige Formulare
Hallo,
ich habe folgende Problemstellung: Nach der Eingabe der Anzahl der Personen soll entsprechend dieser Anzahl die Felder Vorname, Name, Geburtsdatum angezeigt werden.
Ist das mit mod_form möglich?
Evtl. auch in einem mehrseitigen Formular?
Grüsse
radamazone
ich habe folgende Problemstellung: Nach der Eingabe der Anzahl der Personen soll entsprechend dieser Anzahl die Felder Vorname, Name, Geburtsdatum angezeigt werden.
Ist das mit mod_form möglich?
Evtl. auch in einem mehrseitigen Formular?
Grüsse
radamazone
-
- Handbuchversteher
- Beiträge: 7381
- Registriert: 01.01.1970 02:00
- Hat sich bedankt: 114 Mal
- Danksagung erhalten: 938 Mal
Das ließe sich mit Javascript realisieren.
Dabei werden je nach gewählter Anzahl die entsprechenden Felder angezeigt. Ob man das nun als "mehrseitiges" Formular (mit überlappenden DIVs) oder "großes" Formular erstellt hängt lediglich vom Geschick des Erstellers ab.
Hier eine Demo-Seite:
http://www.malleus.de/FAQ/selectSwapContent.html
oder so
http://felix.fh-n.de/Beispiele/Javascript_Ajax/Tab.php
oder direkt hier im Forum
http://community.conpresso.de/viewtopic.php?t=3712
was man leider niemals findet, wenn dort solch aussagelose Titel gewählt werden...
Dabei werden je nach gewählter Anzahl die entsprechenden Felder angezeigt. Ob man das nun als "mehrseitiges" Formular (mit überlappenden DIVs) oder "großes" Formular erstellt hängt lediglich vom Geschick des Erstellers ab.
Hier eine Demo-Seite:
http://www.malleus.de/FAQ/selectSwapContent.html
oder so
http://felix.fh-n.de/Beispiele/Javascript_Ajax/Tab.php
oder direkt hier im Forum
http://community.conpresso.de/viewtopic.php?t=3712
was man leider niemals findet, wenn dort solch aussagelose Titel gewählt werden...
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
-
- ConPresso-Checker
- Beiträge: 101
- Registriert: 01.01.1970 02:00
- Hat sich bedankt: 6 Mal
Danke Markus,
ich habe es wie http://www.malleus.de/FAQ/selectSwapContent.html gelöst.
Schöner wäre es jedoch so wie hier gewesen: http://www.malleus.de/FAQ/showInputsBySelect.html. Aber eben dass nacheinander nicht INPUT-Felder eingeblendet werden, sondern DIVs, d.h. für das 1. Kind der 1 Div, für das 2. Kind der 2. DIV dazu usw.
Nur leider habe ich das nicht hinbekommen
Hier der Ansatz, aber irgendwie klappt das mit der Anzeige der DIVs nicht. Bin halt auch kein JavaScript Spezialist.
Danke für Deine schnelle Hilfe.
Sandra
ich habe es wie http://www.malleus.de/FAQ/selectSwapContent.html gelöst.
Schöner wäre es jedoch so wie hier gewesen: http://www.malleus.de/FAQ/showInputsBySelect.html. Aber eben dass nacheinander nicht INPUT-Felder eingeblendet werden, sondern DIVs, d.h. für das 1. Kind der 1 Div, für das 2. Kind der 2. DIV dazu usw.
Nur leider habe ich das nicht hinbekommen
Hier der Ansatz, aber irgendwie klappt das mit der Anzeige der DIVs nicht. Bin halt auch kein JavaScript Spezialist.
Code: Alles auswählen
<html>
<head>
<title></title>
<script type="text/javascript">
function showControls( maxControls )
{
for ( var i = 0; i < 3; i++ )
{
document.getElementById("input"[i]).style.display = ( i < maxControls ) ? "block" : "none";
}
}
</script>
</head>
<body>
<form name="myForm">
<select name="kind" onchange="showControls(this.value)">
<option value="0">Bitte auswählen</option>
<option value="1">Eins</option>
<option value="2">Zwei</option>
<option value="3">Drei</option>
</select><br><br>
<div id="input1" style="display:none"><br>
<div id="input2" style="display:none"><br>
<div id="input3" style="display:none"><br>
</body>
</html>
Sandra
-
- Handbuchversteher
- Beiträge: 7381
- Registriert: 01.01.1970 02:00
- Hat sich bedankt: 114 Mal
- Danksagung erhalten: 938 Mal
Probiere es mal so:
Code: Alles auswählen
<html>
<head>
<title></title>
<script type="text/javascript">
function showControls( maxControls )
{
var num=0;
var divs=document.getElementsByTagName("DIV");
for (i=0;i<divs.length;i++)
{
if (divs[i].className=="personendaten") {
num++;
divs[i].style.display = ( num <= maxControls ) ? "block" : "none";
}
}
}
</script>
</head>
<body>
<form name="myForm">
<select name="kind" onchange="showControls(this.value)">
<option value="0">Bitte auswählen</option>
<option value="1">Eins</option>
<option value="2">Zwei</option>
<option value="3">Drei</option>
</select><br><br>
<div class="personendaten" style="display:none">DIV1</div>
<div class="personendaten" style="display:none">DIV2</div>
<div class="personendaten" style="display:none">DIV3</div>
</body>
</html>
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
-
- ConPresso-Checker
- Beiträge: 101
- Registriert: 01.01.1970 02:00
- Hat sich bedankt: 6 Mal
Hallo Markus,
nun hätte ich noch eine Frage dazu.
Wie muß ich
im Formulartemplate eintragen? Also wo bei type=select ?
Danke für Deine Hilfe
Sandra
nun hätte ich noch eine Frage dazu.
Wie muß ich
Code: Alles auswählen
onchange="showControls(this.value)"
Danke für Deine Hilfe
Sandra
-
- Handbuchversteher
- Beiträge: 7381
- Registriert: 01.01.1970 02:00
- Hat sich bedankt: 114 Mal
- Danksagung erhalten: 938 Mal
Das ist bisher nicht vorgesehen, kann aber eingebaut werden.
Dazu in includes/parser_r_form.inc.php
nach
einen Teil
einsetzen.
Dann den Teil
ergänzen zu
Dann kann man den Parameter onchange=showControls(this.value); benutzen.
Auf diese Art lassen sich auch viele andere MouseEvents einbauen.
Dazu in includes/parser_r_form.inc.php
nach
Code: Alles auswählen
if (array_key_exists('size', $parameters)) {
$input_size = ' size="'.$parameters['size'].'"';
}
Code: Alles auswählen
if (array_key_exists('onchange', $parameters)) {
$onchange = ' onchange="'.$parameters['onchange'].'"';
}
Dann den Teil
Code: Alles auswählen
if ($parameters['type'] == "select") {
$values = explode(",",$parameters['values']);
$_t = '<select name="'.$field_name.'"'.$input_size.$input_class.$disabled.'>';
foreach($values AS $_v)
{
$selected = ($content[$key]['input']==$_v) ? ' selected="selected"' : '';
$_t .= '<option value="'.$_v.'"'.$selected.'>'.$_v.'</option>';
}
$_t .= '</select>';
}
Code: Alles auswählen
if ($parameters['type'] == "select") {
$values = explode(",",$parameters['values']);
$_t = '<select name="'.$field_name.'"'.$input_size.$input_class.$onchange.$disabled.'>';
foreach($values AS $_v)
{
$selected = ($content[$key]['input']==$_v) ? ' selected="selected"' : '';
$_t .= '<option value="'.$_v.'"'.$selected.'>'.$_v.'</option>';
}
$_t .= '</select>';
}
Auf diese Art lassen sich auch viele andere MouseEvents einbauen.
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle