• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Formular mit Unterformular auf einer Seite

Karli1969

New member
Hallo zusammen,

geht es irgendwie, dass man zwei Formulare auf einer Internetseite hat?
Nur mal als Beispiel:
Im Oberformular kann man einen neuen Speiseplan eingeben, also an welchen Tagen es was zu essen gibt.
Mit einem Submit-Button werden alle Eingabefelder an ein Script gepostet, das diese Daten dann in eine Datenbank schreibt.

Für den Fall, dass man einen Speiseplan nachträglich ändern will, soll auf der gleichen Internetseite aber unterhalb von obigem Formular alle bisher eingegebenen Speisepläneangezeigt werden werden.
Durch Doppelklick in die Felder soll man direkt Änderungen machen können. Bei onblur wird aus dem geänderten Eingabefeld ein Miniformular gemacht, also mit eigenen Form-Tag und so. Hier der Code für das Unterformular:

Code:
<script type="text/javascript" >
function cellDblClick(item) {
 elem = document.getElementById(item);
 val  = elem.innerHTML;
 elem.setAttribute("ondblclick", "");
 size = elem.innerHTML.toString().length;
 elem.innerHTML = "<form name='input_form' action='#' method='get'> " +
  " <input name='id' type='hidden' value='' /> " +
  " <input name='setData' class='textfield_effect' type='text' value='" +
  val + "' size='"+size+"' onblur='document.input_form.submit();' />" +
  "</form> ";
 document.input_form.id. value = item;
 document.input_form.setData.focus();
}
</script>
Quelle: März | 2014 | christian-nagel.net


Im Prinzip funktioniert es auch, nur wenn ich im unteren Formular z.B. die Hauptspeise eines bestimmten Tages ändere, gibt es sofort eine Meldung, dass im Hauptformular (das ja eigentlich nur für neue Speisepläne benutzt wird) keine Daten stehen.
Wenn ich das Form-Tag im Hauptformular auskommentiere klappt es mit dem Unterformular wunderbar.
Dann kann ich aber keine Eingaben mehr im oberen Formular abschicken.
Es klappt also entweder das obere oder das untere Formular.

Hat jemand eine Idee, wie man das lösen könnte?

Danke und viele Grüße
Karl
 
der code sieht extrem verbesserungswürdig aus. und außerdem würde ich für sowas sehr wahrscheinlich ajax nutzen. wozu ist die form jongliererei?
 
Danke für die Antwort Mik. Vor Ajax habe ich noch bisschen 'Angst' weil das so kompliziert ist. Der Code oben funktioniert ja schon mal. Wenn es gar nicht anders geht, mache ich zwei getrennte Formulare draus. Eins für das neu Eingeben der Speisepläne und ein getrenntes für vorhandene Speisepläne anzuzeigen und zu bearbeiten.
 
Habe mich inzwischen mit AJAX beschäftigt und kann es auch direkt verwenden, also ohne JQuery. Scheint sogar einfacher zu sein, als die Methode, die ich im ersten Link verwendet habe. Und schneller sowieso.
Werde mich demnächst aber auch mal mit der AJAX-Funktion in JQuery beschäftigen, weil man um letzteres ja eh nicht drum herum kommt.
 
weil man um letzteres ja eh nicht drum herum kommt.
nö das würde ich nicht unterschreiben. modernes pures js kann schon echt eine menge. google mal nach "jquery vs pure javascript".
ich verwende jquery sehr sparsam nur dort wo es sonst echt punk wäre. schon allein um die potenziellen problemstellen bei einem jquery update möglichst gering zu halten.
 
Zurück
Oben