• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

erstellen und Löschen von Formularen

CGMAX

Neues Mitglied
Scannen0001.jpgIch suche nach einer Möglichkeit wie im Bild schon beschreiben ein Formularfeld hinzuzufügen oder aber wieder zu löschen. Ich hätte das über eine Funktion gemacht,
PHP:
<script type="text/javascript">				var z = 0;		function erstellen(){			z++;			var show = document.getElementById('show');			show.innerHTML = ('<div>' +z+ '</div>');					}	</script>
aber das mit dem löschen erscheint mir eine große Schwierigkeit. wichtig ist auch, dass die Felder bei der Auswertung per PHP beachtet werden. Wenn ihr Ideen habt schreibt sie bitte. Ich würde mich sehr freuen. P.S. hier der HTML code:
Code:
<fieldset  style="width:300px;">
				<table cellspacing="2" cellpadding="2" >
					<legend>1 <a style="font-size:12px;" href="#"> (löschen)</a></legend>
					<tr >
						<td>Name:</td><td><input type="text" name="name1"/></td>
					</tr>
					<tr>			
						<td valign="top">Text:</td><td><textarea name="text1" style="resize: none;" rows="4"cols="28"></textarea></td>
					</tr>
				</table>				
			</fieldset>
			<a href="#" >erstellen</a>
 
Werbung:
Die PHP-Auswertung gestaltet sich sehr einfach, indem Du Array-Elemente als name-Attribute verwendest.

Bsp:

HTML:
<form>
    <input type="text" name="name[]" />
    <input type="text" name="name[]" />
    <input type="text" name="name[]" />
    <input type="text" name="name[]" />    
</form>

In PHP kannst Du nun auf die Werte jedes einzelnen Input-Feldes zugreifen:
PHP:
<?php
echo $_POST['name'][0];
echo $_POST['name'][1];
echo $_POST['name'][2];
echo $_POST['name'][3];
?>


Und der JavaScript-Teil gestaltet sich dadurch natürlich auch sehr leicht, da du dich nur um's hinzufügen & entfernen der Input-Felder und Text-Areas kümmen musst. Für die Input-Felder verwendest Du eben name[] als name-Attribut-Wert und für die Textareas text[].

Im PHP-Teil einfach innerhalb einer Schleife auf die verschiedenen Werte zugreifen.

PHP:
<?php
if (isset($_POST['name']) && isset($_POST['test']) && is_array($_POST['name']) && is_array($_POST['text']) && count($_POST['name']) === count($_POST['text'])) {
    for ($i = 0; $i < count($_POST['name']); $i++) {
        echo 'Name: ' . $_POST['name'][$i] . ', Text: ' . $_POST['text'][$i] . '<br />';
    }
}


 
Zurück
Oben