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

Formulare in Tabellenspalten

Status
Für weitere Antworten geschlossen.

Ares

Neues Mitglied
Hallo!

Ich würde eine Tabelle gerne so nutzen, dass in jeder Spalte die Felder eines anderen Formular stehen. Ist das irgendwie möglich?

Ich wüsste im Moment nicht wie, weil ich ein Formular entweder um die komplette Tabelle oder in einer einzelnen Zelle definieren kann, aber nicht für bestimmte Zellen, Spalten oder Zeilen...

Aber vielleicht gibt es ja doch einen Trick, mit dem dies möglich ist.

Es müssen tatsächlich verschiedene Formulare sein, da diese teilweise unterschiedlich Zielscripte ansprechen sollen.

Ich habe es schon so versucht, dass ich einfach mehrere Ein-Spalten-Tabellen nebeneinander setzte und dann um jede dieser Tabellen eine Formular definiert habe. Das bringt auch den gewünschten Erfolgt, aber wenn in einer Tabelle der Inhalt einer Zelle über zwei Zeilen geht und in den anderen nur über eine, ist diese Spalten-Tabele länger als die übrigen. Das ist also keine echte Lösung.

Kennt jemand einen Trick hierzu?

Besten Dank
Ares
 
Du könntest eine Tabelle mit x Spalten machen, und in jede Spalte dann eine Tabelle, dir nur Zeilen besitzt, und diese dann mit dem <form>-Tag umschließen. Sicher nicht die beste Lösung aber Mittel zum Zweck.
 
Hallo!

Ich würde eine Tabelle gerne so nutzen, dass in jeder Spalte die Felder eines anderen Formular stehen. Ist das irgendwie möglich?
Eine Tabelle ist dazu gedacht, tabellarische Daten auszuzeichnen. Ein Formular in einer Tabelle macht daher keinen Sinn. Auch ist es nicht nötig, Tabellen zum Ausrichten der Formularelemente zu missbrauchen, mit CSS geht das ganz einfach.

Ich wüsste im Moment nicht wie, weil ich ein Formular entweder um die komplette Tabelle oder in einer einzelnen Zelle definieren kann, aber nicht für bestimmte Zellen, Spalten oder Zeilen.
Weil das so nicht von HTML vorgesehen ist.

Aber vielleicht gibt es ja doch einen Trick, mit dem dies möglich ist.
Anstatt immer nur zu tricksen, wäre es einfacher, HTML so zu benutzen, wie es gedacht ist. Tabellen zu Layoutzwecken zu benutzen ist schon ein Hack an sich, wer damit werkelt, darf sich nicht wundern, dass er dann immer wieder Hacks braucht, um andere Hacks auszugleichen.

Gruß,
-Efchen
 
Du könntest eine Tabelle mit x Spalten machen, und in jede Spalte dann eine Tabelle, dir nur Zeilen besitzt, und diese dann mit dem <form>-Tag umschließen. Sicher nicht die beste Lösung aber Mittel zum Zweck.

Das ist genau das, was ich ich schon versucht hatte. Hier kommt es wie gesagt zu dem Problem, dass die Spalten-Tabellen nicht gleich hoch sind, wenn ich einer Tabelle eine Zelle zwei Zeilen habe und sonst überall nur eine Zeile enthalten ist...

Anstatt immer nur zu tricksen, wäre es einfacher, HTML so zu benutzen, wie es gedacht ist. Tabellen zu Layoutzwecken zu benutzen ist schon ein Hack an sich, wer damit werkelt, darf sich nicht wundern, dass er dann immer wieder Hacks braucht, um andere Hacks auszugleichen.

Ich stimmte dir vollkommen zu, dass man Tabellen kein Layout machen sollte, dazu ist CSS da. Aber ich habe auch nirgendwo gesagt, das es hier nicht um tabellarische Daten geht, dass tut es nämlich sehr wohl...

Es geht um eine Tabelle die je Spalte die Daten eines bestimmten Datensatzes enthält. Das ist wohl eine legitime Anwendung für eine Tabelle, oder sehe ich das falsch?

Zu jedem Datensatz soll es nun die Möglichkeit einer genaueren Auswertung geben. Dafür soll man per Checkbox alle Daten einer Spalte einer auswählen können, die in die Auswertung einfließen sollen. Am Ende jeder Spalte soll dann ein Button "Auswertung" stehen, der die Auswertung der gewählten Daten startet...

Ich fände es recht sinnvoll hier mit einer Tabelle und nicht mit CSS zu arbeiten. Eine Tabelle ist der "natürliche" Behälter für diese Daten. Hier etwas mit CSS zu basteln wäre meiner Meinung nach eine weniger sinnvoll. Wenn es nicht anders geht OK, aber vielleicht hat ja doch noch jemand eine Idee, wie man das per Tabelle lösen kann...
 
Guten Morgen!

Es geht um eine Tabelle die je Spalte die Daten eines bestimmten Datensatzes enthält. Das ist wohl eine legitime Anwendung für eine Tabelle, oder sehe ich das falsch?
Ja, das hört sich an wie eine richtige Anwendung.

Ich fände es recht sinnvoll hier mit einer Tabelle und nicht mit CSS zu arbeiten.
Naja, wenns tabellarische Daten sind, dann ist eine Tabelle das einzig richtige Mittel. Wenn es ums bloße Layout geht, muss CSS her. Wobei das Aussehen der Tabelle ja auch mit CSS formatiert wird :-)

Aber das eigentliche Problem habe ich vielleicht noch nicht ganz verstanden. Jede Spalte soll in sich ein eigenes Formular ergeben? Das wird wohl nicht möglich sein. Denn Du kannst eigentlich nur die Tabelle in das Formular einbinden. Und damit sind mehrere Formulare gestorben. Ein Formular je Spalte definieren ist in HTML nicht möglich.

Ich bin mir aber sicher, dass Du das auch mit einem einzigen Formular lösen kannst. Das Script, das die Formulardaten entgegennimmt, muss halt selbst entscheiden, wie diese Daten weiter verarbeitet werden, das was Du bislang mit mehreren Scripts geplant hast. Vermutlich sind nichtmal mehrere Scripts nötig, falls doch, verteilt das Script, das vom Formular aufgerufen wurde, die richtigen Daten halt an das richtige Script. Sollte kein Problem sein.

Gruß,
-Efchen
 
wo steht geschrieben, dass man einen form-tag nicht innerhalb eines td nutzen darf ?

Code:
<tr>
 <td class="td1" align="center">
  <form method="post" action="main.php?meine_kartei=0" target=""><input type="hidden" name="wert1" value="1"><input type="hidden" name="wert2" value="bttn1"><input type="submit" value="edit" class="buttons2"></form>
  <form method="post" action="main.php?meine_kartei=0" target=""><input type="hidden" name="wert1" value="1"><input type="hidden" name="wert2" value="bttn2"><input type="submit" value="eintrgen" class="buttons2"></form>
 </td>
</tr>
verursacht zumindest beim w3c validator keinen fehler
 
wo steht geschrieben, dass man einen form-tag nicht innerhalb eines td nutzen darf ?
Wo steht geschrieben, dass das jemand braucht? Es war doch die Rede von einem Formular über alle Zeilen einer Spalte. DAS wird nicht gehen, sagte ich. Und ein eigenes Formular in jeder Zelle bringt ja nichts, wenn es mehrere Zellen gibt, deren Inhalte gleichzeitig abgeschickt werden sollen.

Gruß,
-Efchen
 
Hallo!

Ich würde eine Tabelle gerne so nutzen, dass in jeder Spalte die Felder eines anderen Formular stehen. Ist das irgendwie möglich?

ich verstehe die frage so, dass verschiedene formulare mal über eine zelle, mal über einige zelle, und mal über zeilen definiert werden sollen.
oder ist gemeint, dass die formulare auseinader gerissen werden sollen und die felder über die tabelle verstreut werden sollen ?

dann würde ich allerdings fragen, warum die zusammengehörenden felder nicht gruppiert werden, so dass man mehrer formulare erstellen kann.

wenn letzteres gemeint ist, könnte man alternativ alles in ein formular packen und dann ein etwas aufwendigeres auswertungsscript starten.

ps. schlagwort switch
 
ich verstehe die frage so, dass verschiedene formulare mal über eine zelle, mal über einige zelle, und mal über zeilen definiert werden sollen.
Dann hätten wir ja keine Tabelle mehr.

oder ist gemeint, dass die formulare auseinader gerissen werden sollen und die felder über die tabelle verstreut werden sollen ?
Es hießt, es handelt sich um tabellarische Daten, da hat dann jedes Datum seine eigene Zelle. Und alle Zellen einer Spalte sollen zu einem Formular gehören. So hab ich Ares zuletzt verstanden. Und das geht nicht.

dann würde ich allerdings fragen, warum die zusammengehörenden felder nicht gruppiert werden, so dass man mehrer formulare erstellen kann.
Weil Du nicht mehrere Zellen einer Spalte mit HTML gruppieren kannst.

wenn letzteres gemeint ist, könnte man alternativ alles in ein formular packen und dann ein etwas aufwendigeres auswertungsscript starten.
Genau das war auch mein Vorschlag.

Gruß,
-Efchen

P.S.: Jetzt wäre es an der Zeit, dass sich Ares dazu äußert, wie es gemeint war :-)
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben