[JavaScript] formulareingabe in url einbinden
-
Hallo!
Ich bin mit JavaScript nicht so fit.
Also was ich machen will ist folgendes:
Ich habe zwei Textfelder in einem Formular.
Wenn das Formular abgeschickt wird, soll eine URL aufgerufen werden. In dieser URL sollen zwei Variablen mit dem Inhalt der Textfelder gefüllt werden.Ich hab hier schonmal angefangen. Aber ich weiß nicht so wirklich wie es funktioniert.
<html> <head> <title>Titel</title> </head> <body> <form action="#" method="post" /> <input type="textfield" name="url" id="url" /> <input type="textfield" name="title" id="title" /> <input type="submit" onsubmit="sendit();" /> </form> <script type="text/javascript"> function sendit() { location.href= "http://www.example.com/?&url=" + document.getElementById("url").value; + "&title=" + document.getElementById("url").value; } </script> </body> </html>
Vielen Dank schonmal
-
Das mit dem Senden der ist zwar richtig, aber um dann auf diese Daten zuzugreifen, musst du eine Sprache wie PHP verwenden.
Allerdings ist es eigentlich unsinnig, das Versenden der Daten in eine eigene Funktion zu packen, wenn das die Browser doch selbst schon machen, sobald die Daten in einem Form-Feld stehen.
-
Die danach folgende Verarbeitung der Variablen in der URL ist garkein Problem. Nur ich weiß eben nicht wie ich die URL generieren kann.
Allerdings ist es eigentlich unsinnig, das Versenden der Daten in eine eigene Funktion zu packen, wenn das die Browser doch selbst schon machen, sobald die Daten in einem Form-Feld stehen.
Könntest du mir meinen Quelltext vielleicht berichtigen?
Das wäre wirklich nett.
-
Na gut, ich will ja mal nicht so sein^^
<html> <head> <title>Titel</title> </head> <body> <form action="http://www.example.com" method="get" /> <input type="textfield" name="url" id="url" /> <input type="textfield" name="title" id="title" /> <input type="submit" name="subbutton" value="Senden" /> </form> </body> </html>
Das bewirkt jetzt genau das gleiche, was du vorher mit JavaScript gemacht hattest - Die Daten werden an "http://www.example.com" geschickt und an die Adresse hinten ran gehangen.
Also klappt das jetzt auch, wenn der User Javascript deaktiviert hat
-
Oh mann na klar. Das Formular über get abschicken. Ich habs voll verpennt.
Danke dir
-
Wobei ich hier das Problem nicht ganz verstehe:
Ob ich nun per POST sende und dann $_POST abfrage, oder ob ich via GET sende und $_GET abfrage, das bleibt sich eigentlich gleich.
Abgesehen davon, dass ich die POST-Variante als "sauberer" empfinde, weil nicht so viele Daten im URL herumfliegen ...
-
árn[y]ék schrieb:
Wobei ich hier das Problem nicht ganz verstehe:
Ob ich nun per POST sende und dann $_POST abfrage, oder ob ich via GET sende und $_GET abfrage, das bleibt sich eigentlich gleich.
Abgesehen davon, dass ich die POST-Variante als "sauberer" empfinde, weil nicht so viele Daten im URL herumfliegen ...Nun ja, vom Prinzip her ist es auch fast gleich, und wenn du den Inhalt von Textfeldern mitsenden willst, musst du sogar POST nehmen, denn per GET kannst du ja nicht unendlich viel senden.
Aber GET ist zum Beispiel nützlicher, wenn du die Daten als Link nutzt - also zum Beispiel index.php?action=seite1 - dann würdest du das als POST übergeben, könnte der nutzer Beispielsweise nicht den Link kopieren o.ä., nur mal als einfaches Beispiel.
-
árn[y]ék schrieb:
Wobei ich hier das Problem nicht ganz verstehe:
Ob ich nun per POST sende und dann $_POST abfrage, oder ob ich via GET sende und $_GET abfrage, das bleibt sich eigentlich gleich.
Abgesehen davon, dass ich die POST-Variante als "sauberer" empfinde, weil nicht so viele Daten im URL herumfliegen ...Ich kann die Daten aber nicht über POST senden, da ich ja folgendes Konstrukt für den Service (der nicht von mir ist) brauche.
*.php?var1=inhalt1&var2=inhalt2