Forum: PC-Programmierung Frage zu HTML Programmierung


von envelope (Gast)


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 User
von c.m. (Gast)


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)


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)


Lesenswert?

Da werden Sie geholfen:

https://wiki.selfhtml.org/

merciless

von Jim M. (turboj)


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)


Lesenswert?


: Bearbeitet durch Admin
von Purzel H. (hacky)


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)


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)


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)


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)


Lesenswert?

<div style='width:10em;flost:left;'>blafasel</div>
<div style='width:10em;'>blafasel</div>

gibt 2 divs nebeneinander.

von Hugo E. (Gast)


Lesenswert?

Joachim D. schrieb:
> flost:left;

flost???

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


Lesenswert?

Immer noch besser als S-Lost.

von Jobst Q. (joquis)


Lesenswert?

Versuch's mal mit:

style="display:inline;"

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

: Bearbeitet durch Admin
von envelope (Gast)


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. (Gast)


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)


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. (Gast)


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)


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)


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)


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)


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)


Lesenswert?

Mach doch mal eine Skizze wie das aussehen soll.

von HTML-Programmierer (Gast)


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. (Gast)


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

von envelope (Gast)


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. (Gast)


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)


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)


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)


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


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


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)


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>

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.