Julian Oettrich: formular

Ich verstehe was nicht: Ich will für meine seite ein suchbox einrichten, aber bei den ersten versuchen, hat da irgendwie was nicht hingehauen. Der Quelltext sieht so aus:

<html>
<head>
<title>SUCHEN</title>
<script language="javascript" type="text/javascript">
function suche () {
 var google1 = ("http://www.google.de/search?hl=de&q=" + document.search.eingabe.value + "&btnG=Google-Suche&meta=");
 var google2 = ("http://www.google.de/search?hl=de&q=" + document.search.eingabe.value + "&btnG=Google-Suche&meta=lr%3Dlang_de");
 var google3 = ("http://www.google.de/search?hl=de&q=" + document.search.eingabe.value + "&btnG=Suche&meta=cr%3DcountryDE");
 var abgehts = document.search.auswahl.value;
 window.open().location.href = abgehts;
}
</script>
</head>
<body>
<form name="search" action="suche.html">
<input type="text" name="eingabe" value="" width="20"><br>
<input type="radio" name="auswahl" value="google1" checked>Weltweit<br>
<input type="radio" name="auswahl" value="google2">Seiten in Deutsch<br>
<input type="radio" name="auswahl" value="google3">Seiten aus Deutschland<br>
<input type="submit" value="Enter" onClick="javascript:suche();">
</form>
</body>
</html>

ich hab auch noch den link zum thread beigelegt. Wäre echt super, dass wenn ich morgen nachmittag den pc anschalte und ins forum schaue, eine lösung dawäre.

Vielen Dank schon mal,

Julian

  1. Hi,

    var google1 = ("http://www.google.de/search?hl=de&q=" + document.search.eingabe.value + "&btnG=Google-Suche&meta=");
    var google2 = ("http://www.google.de/search?hl=de&q=" + document.search.eingabe.value + "&btnG=Google-Suche&meta=lr%3Dlang_de");
    var google3 = ("http://www.google.de/search?hl=de&q=" + document.search.eingabe.value + "&btnG=Suche&meta=cr%3DcountryDE");

    OK, jetzt hast du also 3 Variablen mit verschiedenen URLs. Tipp: Werte URL-Encoden (http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#encode_uri), damit nicht am Ende eine ungültige URL rauskommt.

    var abgehts = document.search.auswahl.value;

    OK, jetzt steht also in abgehts z.B. "google1" drin.

    window.open().location.href = abgehts;

    So, jetzt steht in abgehts also immer noch google1 drin.

    Folgerung:

    1. Mit Hilfe von if oder Arrays oder was auch immer solltest du die Auswahl "google1" jetzt auf deine URLs abbilden.
    2. window.open().location.href ist meines Wissens nicht gültig. Entweder ein window.open(x, y, z) (http://de.selfhtml.org/javascript/objekte/window.htm#open) mit entsprechender URL (hoffentlich kein Popup-Blocker aktiv) oder eben ein window.location.href im aktuellen Fenster.

    Dann: Du schickst im Moment das Formular immer noch ab, ich weiß nicht, was die Suche.html ist aber wenn die Daten eh schon auf einer JavaScript-Auswertung beruhen, dann kannst du auch direkt in deinem Submit-Button ein onclick="suche(); return false" machen, dann wird das Formular hoffentlich nicht mehr abgeschickt. Das "javascript:" kannst du dir sparen.

    Wäre echt super, dass wenn ich morgen nachmittag den pc anschalte und ins forum schaue, eine lösung dawäre.

    Na dann, guten Nachmittag!

    MfG
    Rouven

    --
    -------------------
    ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(