[JS] redirect naar zoekmachine adv select

Pagina: 1
Acties:

  • oZy
  • Registratie: Juli 2001
  • Laatst online: 28-08 16:38
ik heb een simpele zoek optie voor op een site gemaakt, met een text input voor de query een een select box om te kiezen welke engine je wilt gebruiken (google, intranet, telefoonboek etc).

Werkt prima! Maar als iemand gezocht heeft, en weer <back> doet en een andere engine selecteerd (met dezelfde query) en dan op submit klikt, dan gaatie weer naar de vorige engine, en niet naar de gene welke je nu gekozen hebt.

Ik heb al gechecked met een alert welke value er geselecteerd is, maar daar staat wél de nieuw gekozen engine.. :?

formpje:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<form name="frmZoek" onSubmit="fDoSearch(document.frmZoek.engine.options[document.frmZoek.engine.selectedIndex].value, document.frmZoek.query.value);return false;">
  <input name="query" class="iptDefault" type="text" size="10" value="zoeken" onFocus="this.value='';" />&nbsp;
  <select name="engine" class="iptDefault">
    <option value="0">klik hier..</option>
    <option value="0">--intern--</option>
    <option value="1">intranet nl</option>
    <option value="2">intranet int</option>
    <option value="3">internet nl</option>
    <option value="4">internet int</option>
    <option value="7">telefoonboek</option>
    <option value="0">--extern--</option>
    <option value="8">google nl</option>
    <option value="9">google int</option>
  </select>
  <input type="image" src="_images/icon_go_white.gif" />
</form>

script:
code:
1
2
3
4
5
6
7
8
9
10
11
12
<script language="javascript">
  function fDoSearch(engine, query) {
    alert('engine: '+engine+'  query: '+query);
        if (engine == 2) window.location = 'http://search.blaat.net/cgi-bin/search.pl?kl=nl&catfilter=&q='+query;
        if (engine == 3) window.location = 'http://search.blaat.com/cgi-bin/index.pl?mss=fiboext&pg=q&uil=eniso&intern=&i=internet12&q='+query+'&custom2=nl&kl=';
        if (engine == 4) window.location = 'http://search.blaat.com/cgi-bin/index.pl?mss=fiboext&pg=q&uil=eniso&intern=1&i=internet18&q='+query+'&custom2=default&kl=&x=19&y=12';
        if (engine == 7) window.location = 'http://intra.blaat.nl/telboek/default.asp?naam='+query;
        if (engine == 8) window.location = 'http://www.google.nl/search?q='+query+'&ie=UTF-8&oe=UTF-8&hl=nl&lr=lang_nl';
        if (engine == 9) window.location = 'http://www.google.nl/search?q='+query+'&ie=UTF-8&oe=UTF-8&hl=nl&btnG=Google+zoeken&lr=';
    else window.location = 'http://search.blaat.net/cgi-bin/search.pl?kl=nl&catfilter=nl&q='+query;
    }
</script>

iemand een ideetje? of ben ik te veeleissend :Y)

nogmaals, het werkt bijna perfect, behalve dus dat hij de eerder gekozen engine gebruikt ipv de nieuwe (als je dus voor de 2e keer zoekt)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Iets met je cache instellingen?

Of pakt ie elke keer het else pad?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • oZy
  • Registratie: Juli 2001
  • Laatst online: 28-08 16:38
hmm zie dat er toch wat meer fout gaat.. hij pakt op deze manier steeds het else pad inderdaad. Is mn if (engine == 3) dan fout? als ik alert(engine) doe dan zegtie netjes 3..

als ik if (engine == '3') doe krijg ik hetzelfde resultaat trouwens.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19:47

Bosmonster

*zucht*

en maak er weer eens een int van?

if (parseInt(engine) == 3)

Maaruh.. is een CASE-switch hier niet makkelijker? :)

  • oZy
  • Registratie: Juli 2001
  • Laatst online: 28-08 16:38
hehe heb er net een case switch van gemaakt, zelfde resultaat.

en nu met parseInt werktie echt naar behoren, bedankt!