webForumDet fria alternativet
Logga in / Bli medlem

enter

JavaScript

9 svar · 190 visningar · startad av jake

Medlem sedan sep. 2001649 inlägg
Frågan#1

har följande multisök script som fungerar när man trycker på submitt knappen men inte om man skriver sökordet och sedan trycker enter. Går det att fixa så att man kan skriva ordet och trycka enter?
Sedan skulle jag vilja att söksidan öppnas i nytt fönster. Hur kan man göra det?

<script type="text/javascript">

function find() {
var wh = document.sok.motor.options[document.sok.motor.selectedIndex].value;
word = document.sok.word.value;
word = ReplaceChar(word,"+","%2B");
word = ReplaceChar(word," ","+");
if ( wh == "google")
var url = "http://www.google.com/search?q=" + word; + "&restrict=Svenska";
if ( wh == "altavista")
var url = "http://www.altavista.digital.com/cgi-bin/query?pg=q&kl=XX&q=" + word;
if ( wh == "evreka")
var url = "http://www.evreka.com/query?pg=q&what=web&kl=&q=" + word;
if ( wh == "excite")
var url = "http://search.excite.com/search.gw?c=web&s=" + word;
if ( wh == "hotbot")
var url = "http://www.hotbot.com/?MT=" + word + "&SM=MC&DV=0&RG=all&RD=RG&DC=10&DE=2&_v=2&OPs=MDRTP";
if ( wh == "yahoo.com")
var url = "http://ink.yahoo.com/bin/query?p=" + word + "&z=2&hc=0&hs=0";
if ( wh == "yahoo.se")
var url = "http://search.yahoo.se/search/se?p=" + word;
if ( wh == "lycos")
var url = "http://www.lycos.com/cgi-bin/pursuit?matchmode=and&cat=lycos&query=" + word + "&x=19&y=9";

location.href=url;

}
function ReplaceChar(String, OldChar, NewChar){
for(n=0; n<String.length; n++){
if (String.charAt(n) == OldChar) String = String.substring(0,n) + NewChar + String.substring(n+1,String.length);
}
return String;
}
</script>
<form name="sok">
Sök efter
<input type="text" name="word">
<br>

<select name="motor">
onChange="window.open(this.options[this.document.sok.motor.selectedIndex].value,'');">
<option value="google">Google</option>
<option value="altavista">Altavista</option>
<option value="evreka">Evreka</option>
<option value="excite">Excite</option>
<option value="hotbot">HotBot</option>
<option value="yahoo.com">Yahoo.com</option>
<option value="yahoo.se">Yahoo.se</option>
<option value="lycos">Lycos</option>

</select>
<input type="button" value="Ok" onClick="find()">

</form>

Medlem sedan juni 20014 421 inlägg
#2

Titta neråt...

[Redigerat av colione den 10 nov 2001]

Medlem sedan juni 20014 421 inlägg
#3

Jag skulle tro någt såhär:

<script type="text/javascript">

function find() {
var wh = document.sok.motor.options[document.sok.motor.selectedIndex].value;
word = document.sok.word.value;
word = ReplaceChar(word,"+","%2B");
word = ReplaceChar(word," ","+");
if ( wh == "google")
var url = "http://www.google.com/search?q=" + word; + "&restrict=Svenska"; 
if ( wh == "altavista")
var url = "http://www.altavista.digital.com/cgi-bin/query?pg=q&kl=XX&q=" + word;
if ( wh == "evreka")
var url = "http://www.evreka.com/query?pg=q&what=web&kl=&q=" + word;
if ( wh == "excite")
var url = "http://search.excite.com/search.gw?c=web&s=" + word;
if ( wh == "hotbot")
var url = "http://www.hotbot.com/?MT=" + word + "&SM=MC&DV=0&RG=all&RD=RG&DC=10&DE=2&_v=2&OPs=MDRTP";
if ( wh == "yahoo.com")
var url = "http://ink.yahoo.com/bin/query?p=" + word + "&z=2&hc=0&hs=0";
if ( wh == "yahoo.se")
var url = "http://search.yahoo.se/search/se?p=" + word;
if ( wh == "lycos")
var url = "http://www.lycos.com/cgi-bin/pursuit?matchmode=and&cat=lycos&query=" + word + "&x=19&y=9";

location.href=url;
}
function ReplaceChar(String, OldChar, NewChar){
for(n=0; n<String.length; n++){
if (String.charAt(n) == OldChar) String = String.substring(0,n) + NewChar + String.substring(n+1,String.length);
}
return String;
}
</script>
<form name="sok" onSubmit="return find();" target="_blank">
Sök efter
<input type="text" name="word">
<br>
på
<select name="motor">
onChange="window.open(this.options[this.document.sok.motor.selectedIndex].value,'');">
<option value="google">Google</option>
<option value="altavista">Altavista</option>
<option value="evreka">Evreka</option>
<option value="excite">Excite</option>
<option value="hotbot">HotBot</option>
<option value="yahoo.com">Yahoo.com</option>
<option value="yahoo.se">Yahoo.se</option>
<option value="lycos">Lycos</option>

</select>
<input type="submit" value="ok">

</form>
Medlem sedan sep. 2001649 inlägg
#4

tackar tackar.
Väldigt vänligt.

Dock lägger sig sökfönstret bakom min sida vid sök och min sida laddas om och lägger sig överst... hmm
Någon som vet vad detta beror på?

Medlem sedan juni 20014 421 inlägg
#5

...fel....

[Redigerat av colione den 10 nov 2001]

Medlem sedan sep. 2001649 inlägg
#6

tja, blev nog något fel...
verkar inte fungera iaf. Enligt microsoft scriptdebugger
"object does not support this action"

hänvisas till denna rad
if ( wh == "yahoo.com")

men den ser ju lika ut som alla andra så jag vet inte vad som avses...

Någon söksida öppnas inte iallafall.

Är iaf väldigt imponerad av alla som kan fixa till det bara genom att kolla på scriptet.
Jag kan inte längre så hoppas någon kan fortsätta klura...

Medlem sedan juni 20014 421 inlägg
#7

Den första koden jag gav dig går inte att använda....jag provkörde den aldrig :r det öppnas en ny sida med din sida och din gamla sida blir söksidan med t.ex google på.......den andra blir det som sagt ett scriptfel på....förlåt...*skäms över att ge ut skräpkod*

Medlem sedan juni 20014 421 inlägg
#8

Ok...efter lite tankeverksamhet kom jag på hur lätt det egentligen var....

<script type="text/javascript">
function find() {
var wh = document.sok.motor.options[document.sok.motor.selectedIndex].value;
word = document.sok.word.value;
word = ReplaceChar(word,"+","%2B");
word = ReplaceChar(word," ","+");
if ( wh == "google")
var url = "http://www.google.com/search?q=" + word; + "&restrict=Svenska"; 
if ( wh == "altavista")
var url = "http://www.altavista.digital.com/cgi-bin/query?pg=q&kl=XX&q=" + word;
if ( wh == "evreka")
var url = "http://www.evreka.com/query?pg=q&what=web&kl=&q=" + word;
if ( wh == "excite")
var url = "http://search.excite.com/search.gw?c=web&s=" + word;
if ( wh == "hotbot")
var url = "http://www.hotbot.com/?MT=" + word + "&SM=MC&DV=0&RG=all&RD=RG&DC=10&DE=2&_v=2&OPs=MDRTP";
if ( wh == "yahoo.com")
var url = "http://ink.yahoo.com/bin/query?p=" + word + "&z=2&hc=0&hs=0";
if ( wh == "yahoo.se")
var url = "http://search.yahoo.se/search/se?p=" + word;
if ( wh == "lycos")
var url = "http://www.lycos.com/cgi-bin/pursuit?matchmode=and&cat=lycos&query=" + word + "&x=19&y=9";
open(url)

}
function ReplaceChar(String, OldChar, NewChar){
for(n=0; n<String.length; n++){
if (String.charAt(n) == OldChar) String = String.substring(0,n) + NewChar + String.substring(n+1,String.length);
}
return String;
}
</script>
<form name="sok" onSubmit="return find()">
Sök efter
<input type="text" name="word">
<br>
på
<select name="motor">
onChange="window.open(this.options[this.document.sok.motor.selectedIndex].value,'');">
<option value="google">Google</option>
<option value="altavista">Altavista</option>
<option value="evreka">Evreka</option>
<option value="excite">Excite</option>
<option value="hotbot">HotBot</option>
<option value="yahoo.com">Yahoo.com</option>
<option value="yahoo.se">Yahoo.se</option>
<option value="lycos">Lycos</option>

</select>
<input type="submit" value="ok">

</form>

jag hade satt ett lika med efter open....nu ladas sidan inte om heller...jag tog bort target="_blank"....

Medlem sedan sep. 2001649 inlägg
#9

genialt
snyggt gjort
tack

Medlem sedan juni 20014 421 inlägg
#10

Tack...det var ju egentligen inte så svårt.....tack ni andra javascript killar som inte lade er i så jag fick lösa det själv

[r]stavfel[/r]

263 ms totalt · 4 externa anrop · v20260731065814-full.14655e19
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)