Felix D.: Suchbegriff für URL codieren

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

  1. 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

    1. 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

      1. 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
        
        1. 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

          1. 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

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }