PHP - Generierung eines neues Formularfeldes

  • #1
K

KoelnerBinchen

Bekanntes Mitglied
Themenersteller
Dabei seit
06.09.2002
Beiträge
76
Reaktionspunkte
0
Ort
Kölle
Hallo,
ich schreibe (so weit mir das möglich ist...) eine Onlineseminaranmeldung in PHP. So weit funktioniert auch schon alles :1, nur möchte ich gerne noch folgendes realisieren:
Wenn ein Student in einem Drop-Down-Menü die Auswahl x trifft, soll sich ein weiteres Formularfeld öffnen, in das er dann eine weitere Info eintragen muss.
Leider krieg ich das nicht auf die Reihe und würde mich sehr freuen, könnte mir jemand helfen!

Danke,
KoelnerBinchen
 
  • #2
Geht mit PHP nicht (jedenfalls nicht ohne Reload der Seite) ;)

Du könntest aber die Sache ganz einfach mit Javascript deichseln indem du das Feld zwar in den Code mit einbeziehst, es aber nicht anzeigst (display:none).
Wenn die DropDown-Box geändert wird (onChange) rufst du eine Javascript-Funktion auf die dir den _display_-Wert auf z.B. display:inline ändert.
 
  • #3
Ach, das ist ja schade... :'(

Kann ich denn diese Eingaben dann trotzdem als php-Variablen deklarieren und nachher in der Datenbank verarbeiten???

Danke,
KoelnerBinchen
 
  • #4
KoelnerBinchen schrieb:
Kann ich denn diese Eingaben dann trotzdem als php-Variablen deklarieren und nachher in der Datenbank verarbeiten???

Klar kannst du das ;)

Die Funktionsweise ist genau so wie du es wolltest, halt nicht mit PHP sondern mit JS.

Wenn du das Formular dann __abschickst__ ist es doch egal wer das betr. Feld angezeigt hat, PHP oder JS

Mal nen einfaches Beispiel:
Code:
<head>
<script type=text/javascript>
function chkBox() {
	
	var sel = document.form1.box1[document.form1.box1.selectedIndex].value;
	var field2 = document.getElementById('field2');
	var field3 = document.getElementById('field3');
	
	switch(sel) {
		case 1:
			field2.style.display = inline;
			field3.style.display = none;
			break;
		case 2:
			field2.style.display = none;
			field3.style.display = inline;
			break;
		default:
			field2.style.display = none;
			field3.style.display = none;
	}
}
</script>
</head>
<body>
<?php
echo <pre>;
print_r($_POST);
echo </pre><hr />;
?>
<form name=form1 action=index.php method=post>
<p>
<select id=box1 name=box1 onchange=chkBox()>
<option value=-1>Bitte wählen</option>
<option value=1>Option 1</option>
<option value=2>Option 2</option>
</select>
</p>
<p id=field1>Feld 1: <input id=text1 type=text name=text1 value=<?php echo $_POST[text1]; ?> /></p>
<p id=field2 style=display:none>Feld 2: <input id=text2 type=text name=text2 value=<?php echo $_POST[text2]; ?> /></p>
<p id=field3 style=display:none>Feld 3: <input id=text3 type=text name=text3 value=<?php echo $_POST[text3]; ?> /></p>
<p><input type=submit /></p>
</form>
</body>

Natürlich fehlen hier die ganzen wenn und abers ;)
 
Thema:

PHP - Generierung eines neues Formularfeldes

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben