Formular senden, aber keine neue Seite aufrufen
marc31
- html
Hallo
Ich stehe vor dem Problem, dass eine Kamera gesteuert werden soll. Dies kann über CGI-Befehle geschehen. Dies würde ich über ein Formular machen und diese Daten dann an die URL senden. Jedoch besteht das Problem, dass ich diese Daten zwar mit einem "Submit"-Button senden kann,aber nur eine neue Seite geöffnet wird mit "Es konnte keine Seite angezeigt werden". Ich denke, dass das CGI-Skript die Daten nur aufnimmt,aber keine Daten zurück sendet.
Besteht nun eine Möglichkeit, die Daten zwar zu senden, aber auf der ursprünglichen Seite zu verbleiben und nicht weitergeleitet zu werden?
Als weiterer Gedanke wäre ein Aufrufen der URL über einen einfachen Verweis möglich, allerdings sollte sich auch hierbei keine andere Seite öffnen. Jedoch habe ich auch hierfür keine Möglichkeit gefunden, die es unterbindet, dass sich ein neues Fenster öffnet oder im selben Fenster eine neue Seite geladen wird.(die ja nicht erreichbar ist)
Weiterhin gibt es andere Befehle, wo die Kamera, z.B. ihre Positionsdaten zurück sendet. Ist es möglich diese in Textfeldern anzeigen zu lassen, und nicht extra wieder eine neue Seite geöffnet zu bekommen?
Vielen Dank im Voraus für die Mühe
THX
Hallo
Ich stehe vor dem Problem, dass eine Kamera gesteuert werden soll. Dies kann über CGI-Befehle geschehen. Dies würde ich über ein Formular machen und diese Daten dann an die URL senden. Jedoch besteht das Problem, dass ich diese Daten zwar mit einem "Submit"-Button senden kann,aber nur eine neue Seite geöffnet wird mit "Es konnte keine Seite angezeigt werden". Ich denke, dass das CGI-Skript die Daten nur aufnimmt,aber keine Daten zurück sendet.
So wirds wohl sein.
Besteht nun eine Möglichkeit, die Daten zwar zu senden, aber auf der ursprünglichen Seite zu verbleiben und nicht weitergeleitet zu werden?
Ganz einfach:
Ändere Dein Script dahingegend, dass nach dem Submit eine Redirektion auf das Formular (ohne Parameter) erfolgt. Dabei ist es egal, ob ein POST oder ein GET erfolgte.
Viele Grüße,
Hotte
Danke schonmal.
Wie soll eine solche Redirektion denn eingebunden werden. Ich habe ja action="xxx.xxx.xx.xx/command...". Dann lese ich noch aus einem Textfeld Daten aus und schicke diese mit einem "Submit"-Button an die "action"-Adresse. An welcher Stelle kann denn ein erneuter Aufruf meiner Seite eingebunden werden? Ist es möglich 2 Aktion auszuführen bei einem Klick auf den Button?
Vielen Dank für die Mühe, aber ist für mich nicht so durchsichtig
Hi marc31!
Du sollst das verarbeitende CGI-Skript dahingehen ändern, dass es eine Rückmeldung ausgibt.
MfG H☼psel
Hhhmm, das wird schlecht gehen, da es sich dabei um eine Netzwerkkamera handelt, die ich lediglich mit Hilfe einer kleinen Seite steuern möchte. An das CGI-Skript komm ich nicht ran.Leider
Aber man könnte sich eventuell eine Methode mit JavaScript bauen, die zuerst die eine URl aufruft und sofort meine eigentliche Seite wieder startet.(müsste doch gehen!?)Oder ist dies auch mit einem Formular möglich?
Mal weiter probieren
Mahlzeit.
Aber man könnte sich eventuell eine Methode mit JavaScript bauen, die zuerst die eine URl aufruft und sofort meine eigentliche Seite wieder startet.(müsste doch gehen!?)Oder ist dies auch mit einem Formular möglich?
Du könntest in Deiner Hauptseite einen per "display:none" unsichtbar geschalteten Iframe hinterlegen.
Setze den Target Deines Forms auf eben diesen Iframe.
Grüße
Ich werde es erstmal mit dem iFrame machen. Habs grad ausprobiert und sieht erstmal gut aus.
Ich danke euch für die Mühen und die superschnellen Antworten. (bei Problemen melde ich mich wieder)
THX!!!
Hi marc31!
Aber man könnte sich eventuell eine Methode mit JavaScript bauen, die zuerst die eine URl aufruft und sofort meine eigentliche Seite wieder startet.(müsste doch gehen!?)Oder ist dies auch mit einem Formular möglich?
Das könnte mit einem Ajax-Request möglich sein. Dazu gibt es sicher auch schon Bibliotheken im Internet. Aber frag´ mich nicht, wie sowas funktioniert...
Eine serverseitige Lösung gibt es auch noch: Rufe mit dem Formular ein serverseitiges Skript auf. Dieses ruft das CGI-Skript mit den nötigen Parametern auf und leitet dann auf die Ursprungseite weiter.
MfG H☼psel
Hi,
Ich stehe vor dem Problem, dass eine Kamera gesteuert werden soll. Dies kann über CGI-Befehle geschehen. Dies würde ich über ein Formular machen und diese Daten dann an die URL senden. Jedoch besteht das Problem, dass ich diese Daten zwar mit einem "Submit"-Button senden kann,aber nur eine neue Seite geöffnet wird mit
Das ist doch mal wirklich was für ajax. Du verlässt Deine Seite nicht, sendest den Request per JS und wertest den Response halt nicht aus...
Gruesse, Joachim
hi,
Das ist doch mal wirklich was für ajax. Du verlässt Deine Seite nicht, sendest den Request per JS und wertest den Response halt nicht aus...
Nur mal so zur Info:
Wenn die Response nicht mit dem richtigen Content-Type an den UserAgent zurückgeschickt wird, gibt das im error_log des Webservers ein
[Mon Jun 23 15:38:31 2008] [error] [client 127.0.0.1] Premature end of script headers: /../cgi-bin/ajax.cgi
auch wenn das im Browser nicht zu sehen ist. Auf gut deutsch gesagt, ist das ein schlechter Programmierstil.
Viele Grüße,
Horst Haselhuhn
Hi,
Nur mal so zur Info:
Wenn die Response nicht mit dem richtigen Content-Type an den UserAgent zurückgeschickt wird, gibt das im error_log des Webservers ein
Davon war eigentlich auch nicht die Rede. Was aber hindert ihn daran, den ggf. mit korrektem Conent-Type zurückgelieferten Response im JS _nicht_ weiter auszuwerten...?
Gruesse, Joachim