Aloha!
- diese seite lokal aufgerufen (ohne server)
das wort "inhalt" im textfeld abgeschickt
erhaltene URL:
..test.htm
- die seite über meinen server aufgerufen
ansonsten alles gleich:
erhaltene URL:
..test.htm?eintext=inhalt&submit=Anfrage+senden
Mag sein, daß es bei deinem Browser nur über den Server funktioniert (siehe weiter unten). Allerdings würde ich nicht unbedingt der URL-Anzeige vertrauen, sondern nur dem, was location.search dir sagt.
ich hatte auch mal im selfhtml gelesen, dass es nur bei aufruf über einen server funktioniert, ich finds aber grad nimmer...
Du suchst das hier:
"Sie können bei action= auch eine HTML-Datei angeben. Diese wird bei Absenden des Formulars aufgerufen und kann die Formulardaten z.B. mit JavaScript weiterverarbeiten. Das ist beispielsweise für mehrseitige Formulare interessant. Berücksichtigen Sie dabei aber, dass JavaScript nur dann Zugriff auf Daten hat, wenn die Methode get verwendet wurde. Bei einigen Browsern, z.B. bei Opera, funktioniert das Übergeben von Formulardaten zwischen HTML-Dateien auch nur in HTTP-Umgebung, also nicht lokal ohne Serverkommunikation."
Wie gesagt: Mein Opera (6), IE (5.0) und Netscape (4) haben es geschafft.
also wenn du bei lokalem aufruf einen querystring erhältst muss das dein browser alleine machen (andere browser kann ich grad nicht testen... (das war IE)) oder du hast eben nicht lokal aufgerufen...
Ich habe ganz sicher lokal aufgerufen.
hier steht doch noch was zu get, leider nicht das was ich suchte, aber auch ganz ok
Selfhtml/cgiperl/intro/formularverarbeitung.htm#get_post:
Es ist doch aber so: HTTP kennt nur zwei Methoden, um eine Ressource anzufordern (neben diversen anderen Methoden, die etwas anderes erledigen): GET und POST.
Bei POST wird die URL des Scriptes mitgeschickt ("POST /script" - einfach mal in ein Logfile reingucken), und die Daten werden im Prinzip als eine Seite an den Request drangehängt. Sie reisen im Body des Requests mit, und da dieser Body im Prinzip beliebig lang sein darf, kann man mit POST megabytegroße Dateien zum Server schicken.
GET ist die normale Methode zum Anfordern einer Ressource. Alle Seiten werden mit GET geholt. Der URL-Parameter ist dabei absolut nichts besonderes, der ist eben mal nicht vorhanden, und mal doch. Es ist für den Server absolut kein Unterschied, ob der URL-Parameter nun in einem Link drinsteckt, oder ob die Daten aus einem Formular kommen. Die Vorgehensweise von Browser und Server (sobald der Link mit Parameter zusammengesetzt ist) ist immer gleich.
Jetzt kann man zweierlei sagen:
1. Da es egal ist, ob die Ressource inkl. Parameter aus einem Link oder einem Formular stammt, wird sich der Browser immer gleich verhalten - egal, ob er per HTTP eine Ressource aus dem Netz zieht, oder per file:// eine Datei aus dem Dateisystem.
2. Der einzige Verhaltensunterschied kann nur darin bestehen, daß der Browser bei file://-Zugriff grundsätzlich dem Javascript keinen Zugriff auf den Parameter (mit location.search) gibt. Dann dürfen aber weder Links noch Formulare funktionieren.
Ich gebe zu: Eine gewisse Unsicherheit, ob es denn wirklich funktioniert, beschleicht mit bei lokal getesteten Seiten immer. Ein Server reagiert mir da doch wesentlich beständiger, und Javascript ist IMO die vollkommen falsche Idee, um ein Formular oder einen Parameter-Link zu verarbeiten - jedenfalls dann, wenn Javascript eine wichtige Aufgabe zu erledigen hätte, und JS zwingend für den Zugriff ist.
- Sven Rautenberg