Begrüße!
Ich habe ein Formular, bei dem die Anzahl der Eingabefelder variabel sein soll.. Dachte mir, es wäre am schönsten, wenn man die Formularfelder in Web 2.0 Manier bei Bedarf automatisch hinzufügt.. Habe es so gelöst, dass bei onfocus des untersten Formularfeldes ein neues Feld hinzugefügt wird.. Klappt auch wunderbar..
Mein Ansatz war Folgender.. der Aufbau des Formulars (vereinfacht..):
Wenn checkForNewRow() entscheidet, dass ne neue Zeile angehängt wird, dann erstelle ich eine neue Zeile mit den gewünschten Attributen und aktualisiere den Wert der Tabelle folgendermaßen:
Das Problem hierbei ist, dass alle vorhandenen Formulareingaben gelöscht werden.. Ich habe mal ein wenig gestöbert und bin auf createElement() und appendChild() gestoßen.. Diese Funktionen sind in der Handhabung aber ne Krankheit..
Nen anderer Workaround mäßiger Ansatz wäre es die Formulardaten vor dem erweitern im Script abzuspeichern und danach dann wieder ins Formular zu schreiben.. Aber das ist wohl wirklich nur nen Workaround..
Gibt es noch irgendwelche einfacheren Möglichkeiten? Oder muss ich mich mit createElement() und appendChild() rumschlagen? Oder sollte ich mir doch mal jQuery und co anschauen? Fragen über Fragen..
Danke im Vorraus!
MfG,
whizzler
Ich habe ein Formular, bei dem die Anzahl der Eingabefelder variabel sein soll.. Dachte mir, es wäre am schönsten, wenn man die Formularfelder in Web 2.0 Manier bei Bedarf automatisch hinzufügt.. Habe es so gelöst, dass bei onfocus des untersten Formularfeldes ein neues Feld hinzugefügt wird.. Klappt auch wunderbar..
Mein Ansatz war Folgender.. der Aufbau des Formulars (vereinfacht..):
PHP:
<form action="hurz.php" method="post">
<table id="formTable">
<tr>
<td>Feld1</td>
<td>
<input type="text" name="feld_1" id="feld_1" onfocus="checkForNewRow(1);">
</td>
</tr>
<tr>
<td>Feld2</td>
<td>
<input type="text" name="feld_2" id="feld_2" onfocus="checkForNewRow(2);">
</td>
</tr>
</table>
</form>
Wenn checkForNewRow() entscheidet, dass ne neue Zeile angehängt wird, dann erstelle ich eine neue Zeile mit den gewünschten Attributen und aktualisiere den Wert der Tabelle folgendermaßen:
Code:
document.getElementById("formTable").innerHTML += newRow;
Das Problem hierbei ist, dass alle vorhandenen Formulareingaben gelöscht werden.. Ich habe mal ein wenig gestöbert und bin auf createElement() und appendChild() gestoßen.. Diese Funktionen sind in der Handhabung aber ne Krankheit..
Nen anderer Workaround mäßiger Ansatz wäre es die Formulardaten vor dem erweitern im Script abzuspeichern und danach dann wieder ins Formular zu schreiben.. Aber das ist wohl wirklich nur nen Workaround..
Gibt es noch irgendwelche einfacheren Möglichkeiten? Oder muss ich mich mit createElement() und appendChild() rumschlagen? Oder sollte ich mir doch mal jQuery und co anschauen? Fragen über Fragen..
Danke im Vorraus!
MfG,
whizzler