Forum: PC-Programmierung Frage zu HTML Programmierung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von envelope (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,
nachdem ich halbwegs erfolgreich einen FTP und WEB-Server auf SD-Card 
Basis
auf meinen LPC2148 einbauen konnte, habe ich jetzt ein Problem mit der 
HTML
Programmierung.

Mein primitiver WEB Server arbeitet mit CGI GET und POST. Dazu habe ein
Client Beispiel, das irgendwie mit <form... /form> Bereichen arbeitet .
Innerhalb des Bereichs steht dann irgendwas was mir dann Daten zurück 
zum
Server schickt.

Was mir jetzt nicht gelingt bei der HTML Programmierung für den Client,
einen zweiten
form-Bereich horizontal nebeneinander zu platziern. Untereinander geht 
das. Ich würde gerne Platz sparen und paar <form>
Elemente nebeneinader platzieren.

Ich benutze Microsoft Expression WEB 4.

Kann mir da bitte jemand helfen ?

: Verschoben durch Moderator
von c.m. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
ich muss mich auch grade mit html5/css/javascript rumschlagen…
was du willst geht evtl mit <div>-boxen, dreckig und stümperhaft geht es 
auf jeden fall mit HTML-tabellen.

von envelope (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antwort.

Da ich wenig Ahnung von HTML habe und mich
nur an das Beispiel halten kann, bin ich mir nicht sicher ob das
ohne <form... > funktioniert. Die Zeile heisst ja z.B.
1
<form action="xyz.CGI" name="form1" method="post" ....

Hängt <form action=..."... > nicht zusammen ? Oder wie kann man
anders ein CGI Script zurückschicken? Keine Ahnung!

von Dirk K. (merciless)


Bewertung
1 lesenswert
nicht lesenswert
Da werden Sie geholfen:

https://wiki.selfhtml.org/

merciless

von Jim M. (turboj)


Bewertung
0 lesenswert
nicht lesenswert
envelope schrieb:
> Was mir jetzt nicht gelingt bei der HTML Programmierung für den Client,
> einen zweiten
> form-Bereich horizontal nebeneinander zu platziern.


Macht man mit Tabelle oder <div>:
1
<table>
2
<tr>
3
<td>
4
<form >
5
<input type=button value="Test">
6
</form>
7
8
</td><td>
9
10
<form >
11
<input type=button value="Test 2">
12
</form>
13
</td>
14
</tr>
15
</table>

envelope schrieb:
> Keine Ahnung!

Wir sind nicht Deine Mama, beibringen muss Du Dur das HTML schon selber. 
Es gibt im Internet endlos Literatur und Beispiele.

von Christian M. (Gast)


Bewertung
0 lesenswert
nicht lesenswert

: Bearbeitet durch Admin
von Purzel H. (hacky)


Bewertung
0 lesenswert
nicht lesenswert
Es gibt nur ein einziges From, und das ist innerhalb body :

<body><form method="" action=""> ... </form></body>

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Bewertung
0 lesenswert
nicht lesenswert
Sorry, aber die Formatierung einer HTML-Seite sind einfachste 
Tabellen... das sind HTML Grundlagen. Da hinterher das Formular 
einzustricken ist problemlos.

Mach Dich über HTML-Tabellen schlau, dann ist das alles kein Problem.

von Hugo E. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Jetzt ist G. schrieb:
> Es gibt nur ein einziges From, und das ist innerhalb body :
>
> <body><form method="" action=""> ... </form></body>

Er möchte aber mehrere Formulare. Das einzige, was er wissen möchte 
ist, wie er die nebeneinander bringt statt untereinander.

Das wurde schon beantwortet: Die Formulare mit <div> einschließen.

Daß alles innerhalb von <body> ist, war klar.

von Dirk K. (merciless)


Bewertung
0 lesenswert
nicht lesenswert
Ben B. schrieb:
> Sorry, aber die Formatierung einer HTML-Seite sind einfachste
> Tabellen... das sind HTML Grundlagen. Da hinterher das Formular
> einzustricken ist problemlos.
>
> Mach Dich über HTML-Tabellen schlau, dann ist das alles kein Problem.
Und das wäre dann Webtechnik aus dem letzten Jahrtausend:
Formatierung macht man nur noch über CSS. Aber selbst das
ist keine Raketentechnik.

merciless

von Joachim D. (Firma: JDCC) (scheppertreiber)


Bewertung
0 lesenswert
nicht lesenswert
<div style='width:10em;flost:left;'>blafasel</div>
<div style='width:10em;'>blafasel</div>

gibt 2 divs nebeneinander.

von Hugo E. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Joachim D. schrieb:
> flost:left;

flost???

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Bewertung
0 lesenswert
nicht lesenswert
Immer noch besser als S-Lost.

von Jobst Q. (joquis)


Bewertung
0 lesenswert
nicht lesenswert
Versuch's mal mit:

style="display:inline;"

https://wiki.selfhtml.org/wiki/CSS/Eigenschaften/Anzeige/display

: Bearbeitet durch Admin
von envelope (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Jobst Q. schrieb:
> style="display:inline;"

Ja , Danke sehr, das klappt soweit. Ebenso auch style="float:left" und 
"float:right".

Dank auch für den Tipp mit wiki.selfhtml.org , ist ein super Hilfe.

Was aber immer nicht funktioniert ist der form Tag. Sobald ich eine 
Tabelle
mit einem form Tag versehe, werden sie wieder untereinander dargestllt.

Kann man das irgendwie ändern?

Danke

(@???? bitte verzichtet doch auf blöde Kommentare)

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
Formulare in Tabellen geht nicht. Aber Tabellen in Formularen sind 
zulässig.
https://stackoverflow.com/questions/5967564/form-inside-a-table

: Bearbeitet durch Admin
von envelope (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Stefanus F. schrieb:
> Formulare in Tabellen geht nicht. Aber Tabellen in Formularen sind
> zulässig.

Danke sehr für die Antwort.

Aber wenn ich es richtig verstanden habe gehört zu einer form Tag
z.B. ein CGI Skript. Ich würde gerne je Tabelle ein anderes CGI Script
haben wollen und die Tabellen nebeneinander stehend.

Das wird dann aber wohl nicht gehen. Dann muss ich wohl eine andere
Lösung suchen.

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
envelope schrieb:
> Stefanus F. schrieb:
>> Formulare in Tabellen geht nicht. Aber Tabellen in Formularen sind
>> zulässig.
>
> Danke sehr für die Antwort.
>
> Aber wenn ich es richtig verstanden habe gehört zu einer form Tag
> z.B. ein CGI Skript. Ich würde gerne je Tabelle ein anderes CGI Script
> haben wollen und die Tabellen nebeneinander stehend.
>
> Das wird dann aber wohl nicht gehen. Dann muss ich wohl eine andere
> Lösung suchen.

Ja

von Weingut (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Die Daten in einer <Form> werden an ein CGI oder was auch immer gesendet 
und anschließend die Seite mit dem Ergebnis geladen. Du könntest das 
vermeiden, indem du Deine Forms in iFrames setzt, dann wird nur der 
Frameinhalt ersetzt, oder indem Du via JavaScript die Daten spendest 
(AJAX)

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Bewertung
1 lesenswert
nicht lesenswert
LOL!!

Wenn man mich schon für meinen Vorschlag mit Tabellen so anpflaumt, dann 
stelle Dich mal schon darauf ein, daß Du für Deine iFrames gleich 
standrechtlich erschossen wirst!

von Joachim D. (Firma: JDCC) (scheppertreiber)


Bewertung
0 lesenswert
nicht lesenswert
Weingut schrieb:
> Die Daten in einer <Form> werden an ein CGI oder was auch immer gesendet
> und anschließend die Seite mit dem Ergebnis geladen. Du könntest das
> vermeiden, indem du Deine Forms in iFrames setzt, dann wird nur der
> Frameinhalt ersetzt, oder indem Du via JavaScript die Daten spendest
> (AJAX)

Das geht mit fast allen anderen HTML-Tags auch. <iframes>
braucht es dafür nixht (nichtmal <form>)

von envelope (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Darf ich mich nochmals hier einmischen.

Zu eurer Diskussion kann ich nichts sagen, da ich wie schon erwähnt 
nicht
sehr viel Ahnung davon habe. Mir hilft das so aber auch nicht weiter.

Mir geht es nicht darum eine super-duper Webseite zu erstellen. Ich 
möchte
eigentlich meinen WEB Server nur dazu nutzen diverse Werte der Sensorik
auf meinen Boards darzustellen und ggf. paar Einstellungen (z.B. Offsets
von Temperatursensoren, Schaltschwellen etc) einzustellen. Bisher habe 
ich
dazu immer ein VB Programm für den PC gemacht. Das wollte ich jetzt 
ändern
und mittels WEB-Server erledigen

Im Prinzip klappt das ja auch alles schon, nur verschwende ich im
Moment riesigen Platz auf dem Bildschirm weil ich nicht mehrere
"SET Knöpfe" die mir ein CGI Script abschicken in ein Zeile bekommen.
Oder ich muss mehr als nötig HTML Seiten erstellen.

Gibt es doch irgendwie eine EINFACHE Möglichkeit meinen o.g. Wunsch zu
erfüllen, ohne Java und was es sonst noch alles gibt?

Ich bitte um Nachsicht, wenn ich quasi als nur Hobbyist und HTML-
Anfänger vielleicht dumme Fragen stelle. Ich habe dazu viel gegoogelt
und bin auch schon dadurch für mich weit gekommen. Ich denke das Forum
ist doch sicher nicht nur für Experten da!

von Joachim D. (Firma: JDCC) (scheppertreiber)


Bewertung
0 lesenswert
nicht lesenswert
Mach doch mal eine Skizze wie das aussehen soll.

von HTML-Programmierer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
envelope schrieb:
> Ich bitte um Nachsicht, wenn ich quasi als nur Hobbyist und HTML-
> Anfänger vielleicht dumme Fragen stelle. Ich habe dazu viel gegoogelt
> und bin auch schon dadurch für mich weit gekommen. Ich denke das Forum
> ist doch sicher nicht nur für Experten da!

Dann mal erst mal auf was du haben willst. Zu deinem allgemeinen 
Geschwafel kann ich keine konkreten Hinweise geben.

Vielleicht mal ein Screenshot des VB-Programms dessen GUI man dann in 
HTML umsetzt.

von Stefan ⛄ F. (stefanus)


Bewertung
1 lesenswert
nicht lesenswert
Eventuell ist es für dich einfacher, die gesamte Webseite in ein 
einziges Formular zu packen. Denn Formulare können mehrere 
Submit-Buttons haben und jeder kann einen eigenen Namen haben. Dein 
Webserver kann also durchaus erkennen, welche Button angeklickt wurde.

Siehe 
https://stackoverflow.com/questions/547821/two-submit-buttons-in-one-form

: Bearbeitet durch User
von envelope (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Stefanus F. schrieb:
> ...  Denn Formulare können mehrere
> Submit-Buttons haben und jeder kann einen eigenen Namen haben. Dein
> Webserver kann also durchaus erkennen, welche Button angeklickt wurde.

Vielen Dank, das ist die Lösung! Es werden zwar alle Werte übertragen
die innerhalb eines Form Tags stehen, aber ich kann in der Tat
unterscheiden welcher Knopf gedrückt ist und somit welche Änderungen ich
vormehmen muss. Das macht vieles doch sehr einfach und das reicht mir
dann so.

Die Links zu stackoverflow.com sind übrigends sehr hilfreich.

Es gibt zum Glück hier im Forum noch echte Hilfe. Man traut sich ja
kaum noch was zu fragen, denn irgend jemand redet einen immer schief
an.

Dank ausdrücklich nochmal an Stefanus F.!

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
Jetzt muss ich aber schmunzeln. Denn dieser Lösungsansatz war für mich 
so offensichtlich, dass ich ihn absichtlich zurückgehalten hatte. Ich 
dachte, du hast bestimmt nach mehreren Formularen gefragt weil es 
unbedingt mehrere Formulare sein müssen.

Mal wieder zu viel gedacht und zu wenig nachgefragt.

von envelope (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Stefanus F. schrieb:
> Jetzt muss ich aber schmunzeln.

Nein, kein Problem, das ist meiner Unwissenheit geschuldet. Wie gesagt
bis jetzt wenig Erfahrung mit HTML.

Ich war der Meinung man kann in einem Formular nur einen Wert und
einen Knopf zum Abschicken unterbringen. Ich dachte man braucht dazu
jeweils einen Form Tag. Und mein Beispiel auf dem ich aufgebaut habe
sah so aus (für mich). Deshalb meine Frage nach mehrere tags in
einer Zeile.

Aber so ist es gut und auch relativ einfach zu bearbeiten auf der
Server Seite. Jetzt kann ich weiter basteln.

Nochmals Danke.

von Weingut P. (weinbauer)


Bewertung
0 lesenswert
nicht lesenswert
Dann ist JavaScript das Mittel der Wahl, da kannst Du nach belieben 
Aktionen von beliebigen Seitenelementen auslösen, vom senden von Daten 
an n beliebiges CGI oder Änderungen an den Websiteinhalten selbst, z.B. 
hoch oder runter zählen in Eingabefeldern, auch Darstellung von 
Messwerten in der Seite ohne Reload, wenn die Werte als Rückgabewerte 
von nem CGI kommen ...

: Bearbeitet durch User
von Weingut P. (weinbauer)


Bewertung
0 lesenswert
nicht lesenswert
Ben B. schrieb:
> LOL!!
>
> Wenn man mich schon für meinen Vorschlag mit Tabellen so anpflaumt, dann
> stelle Dich mal schon darauf ein, daß Du für Deine iFrames gleich
> standrechtlich erschossen wirst!

nah dran :)

von A. F. (artur-f) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
envelope schrieb:
> Was mir jetzt nicht gelingt bei der HTML Programmierung für den Client,
> einen zweiten
> form-Bereich horizontal nebeneinander zu platziern.

Probier es mal mit CSS display: inline, Beispiel:
1
 <input style="display: inline;">

von A. F. (artur-f) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Hier noch ein Beispiel:
https://www.w3schools.com/howto/howto_css_inline_form.asp

Ich habe schon oft für die uC's Webinterface inklusive HTML, CSS, AJAX, 
JS programmiert,  auf der www.w3schools.com findet man fast immer eine 
Lösung zum CSS Problem :)

von foo (Gast)


Bewertung
2 lesenswert
nicht lesenswert
Ernsthaft, heutzutage[TM] nimmt man flex oder grid.
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
https://css-tricks.com/snippets/css/complete-guide-grid/
1
<!DOCTYPE html>
2
3
<html>
4
    <head>
5
        <title>Leute, wir haben 2019</title>
6
        <style>
7
            * {
8
                margin 0;
9
            }
10
            main {
11
                display: flex;
12
                flex-flow: row wrap;
13
                justify-content: space-around;
14
            }
15
            form {
16
                display: flex;
17
                flex-direction: column;
18
            }
19
        </style>
20
    </head>
21
    <body>
22
        <main>
23
            <form>
24
                <input type="text" placeholder="form1 input" value="" />
25
                <button type="submit">Submit Form 1</button>
26
            </form>
27
            <form>
28
                <input type="text" placeholder="form2 input" value="" />
29
                <button type="submit">Submit Form 2</button>
30
            </form>
31
            <form>
32
                <input type="text" placeholder="form3 input" value="" />
33
                <button type="submit">Submit Form 3</button>
34
            </form>
35
        </main>
36
    </body>
37
</html>

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.