Suchbegriff für URL codieren
Felix D.
- javascript
0 Tim Tepaße0 Felix D.
Hallo,
Ich möchte mit einem Javascript anhand eines eingegebenen Begriffs die URL einer Google-Ergebnisseite erzeugen.
also in etwa so:
function google_suche() {
location.href="http://www.google.de/search?q="+document.getElementsByTagName('input')[0];
}
Wie muss ich dafür den Suchbegriff codieren? einfaches escapen funktioniert nicht.
MfG
Felix
Hallo Felix,
+document.getElementsByTagName('input')[0];
Ich würde da nach dem getElementsByTagName() noch das Unterobjekt value dranhängen. So kriegst Du nur ein Objekt zurück, das sich ganz sicher nicht escapen lassen lässt.
Tim
Ich würde da nach dem getElementsByTagName() noch das Unterobjekt value dranhängen. So kriegst Du nur ein Objekt zurück, das sich ganz sicher nicht escapen lassen lässt.
ja hast recht aber das war nur ein tippfehler in dem beispiel, das ist selbstvertändlich nicht die Ursache für mein Problem.
MfG
Felix
Hallo Felix,
ja hast recht aber das war nur ein tippfehler in dem beispiel, das ist selbstvertändlich nicht die Ursache für mein Problem.
Dann wäre es schön, wenn Du mal Deinen Quelltext postest. Wenn Du brav mit encodeURI() maskierst, dann sollte es doch eigentlich keine Fehler geben. Bei mir geht das schnell dahingebosselte Beispiel problemlos:
<form action="http://google.de/search" method="get">
<input name="q" type="text">
<button type="submit" onClick='[code lang=javascript]location.href = "http://google.de/search?q=\"" + encodeURI(document.getElementsByName("q")[0].value) + "\""; return false;
~~~'>Suche</button>
</form>[/code]
Tim
Hallo,
Danke für den Tipp mit encodeURIComponent geht es super, allerdings nur bei manchen Seiten wie Google.
Bei der eBay-Suche aber z.B. funktionieren best. Zeichen wie deutsche Umlaute nicht:
Beispiel:
location.href="http://www.google.de/search?q="+encodeURIComponent("äöü");
funktioniert
javascript:location.href="http://search.ebay.de/ws/search/SaleSearch?satitle="+encodeURIComponent("äöü");
funktioniert nicht :-(
An was könnte das liegen?
MfG
Felix
hi,
Bei der eBay-Suche aber z.B. funktionieren best. Zeichen wie deutsche Umlaute nicht: [...]
An was könnte das liegen?
an unterschiedlichem encoding auf den beiden seiten.
gruß,
wahsaga