Forumlarinhalt in Adressleiste aufrufen...
bysnake
- javascript
Hallo zusammen,
Es geht um folgenden Code:
<form name=such>
<input type="text" name="keyword" size="30">
<input type="button" value="Suchen" onClick="self.location.href='../'+document.such.keyword.value+'/Seite1.html'">
</form>
... nach abschicken des Formulars (bsp. keyword=hallo) wird wie gewünscht die Seite
www.xxxxxx.de/hallo/Seite1.html
aufgerufen.
Wenn der Benutzer jedoch die Suchabfrage mit Enter startet, wird "hallo" als GET request gesendet.
(Aufgrund von Tips anderer Leute) getestet habe ich auch schon:
<form name=such onsubmit="self.location.href='../'+document.such.keyword.value+'/Seite1.html'">
<input type="text" name="keyword" size="30">
<input type="submit" value="Suchen">
und
<form name=such onsubmit="self.location.href='../'+document.getElementById('keyword').value+'/Seite1.html'">
<input type="text" name="keyword" id="keyword" size="30">
<input type="submit" value="Suchen">
</form>
Hat aber Alles nichts genützt, immer wieder das gleiche Problem.
Hoffe ihr könnt mir da weiterhelfen.
Gruß bysnake
Liebe(r) bysnake,
<form name=such>
dein Formular hat kein action-Attribut. Das liegt daran, dass Du nie vorhattest, das Formular auf "herkömmlichem" Wege zu nutzen, da Du einen Click mit Javascript "abfängst". Dann allerdings brauchst Du auch kein Formular!
Wenn der Benutzer jedoch die Suchabfrage mit Enter startet, wird "hallo" als GET request gesendet.
Es liegt in der Natur eines <form>s, dass man es mittels Betätigen der Enter-Taste abschicken kann. Dazu wird dann die im (bei Dir fehlenden) action-Attribut angegebene Zieladresse mittels des im (ebenfalls bei Dir fehlenden) method-Attributes angegebenen Verfahren (POST oder GET) der Formular-Inhalt übertragen.
Wie gesagt, da Du ja eh alles per Javascript abfängst, ist der Einsatz eines Formulares komplett sinnlos geworden. Nutze also das <input> ohne ein umgebendes <form>. Dann kann man mit der Enter-Taste auch nix mehr abschicken.
Dass ohne Javascript Deine Navigation (darum handelt es sich doch, oder?) nicht funktioniert, das weißt Du schon? Sinnvoller fände ich in jedem Falle eine serverseitige Lösung, bei der dann das <form> wieder zu seinem angestammten Recht fände.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
hi,
Es geht um folgenden Code:
Nö. Es geht überhaupt nicht um den "Code", sondern es geht darum, daß du verstehen lernst, was ein Formular eigentlich tun kann und wozu es überhaupt da ist. Sinnvolle Vorkenntnisse dazu kannst du dir natürlich in http://de.selfhtml.org/html/formulare/index.htm anlesen.
Und wie kommst du auf die Idee, daß Formulare irgendwas mit Javascript zu tun haben müssen?
Grüße aus Berlin
Christoph S.