Jag har ett litet problem med min lokala sökmotor det är så att
om du inte skriver in någon söktext och bara trycker på sök knappen.
Så får du upp alla indexerade sidorna.
Det jag vill är att användaren skall få upp en ruta som säger
"Du måste skriva ett sökord tex Bil!" om man bara trycker på sök.
Jag har sökt på forumet och hittat att man kan använda onsubmit jag har provat fler varianter men får det inte att fungera.
Jag hoppas ni förstår!!
<fieldset class="sokruta"><legend><b>Sökmotor</b></legend>
<form name="sokForm" onsubmit="sok()"action="sokForm" class="formular"/>
<input name="sokString" type="text" size="52" class="sokruta"/>
<input type="submit" name="knapp" value="Sök" class="knapp"/><br/>
<input type="checkbox" name="direkt" class="kryssruta"/>Om sökningen lyckas, ta mig direkt till första träffen!
<br />
<br />
<center><a href="instruktioner.js" onmouseover="instruktioner('instruktioner.html')" class="visatraff">Instruktioner</a></center>
</fieldset>
</body>
</html>
Och här kommer sok.js filen
function sok() {
var sokText = sokForm.sokString.value
var sokGemener = sokText.toLowerCase()
var sokOrd = sokGemener.split("+")
var hit = 0
var direkt = sokForm.direkt.checked
var nycklar = new Array(5)
nycklar[0] = new Array("sida1.html", "bil", "ratt", "växelspak", "motor")
nycklar[1] = new Array("sida2.html", "cykel", "cyklar", "styre", "hjälm")
nycklar[2] = new Array("sida3.html", "båt", "motor", "knop", "ankare")
nycklar[3] = new Array("sida4.html", "roder", "vinge", "landning", "flyga")
nycklar[4] = new Array("sida5.html", "simma", "dyka", "hoppa", "luft")
var rubriker = new Array(5)
rubriker[0] = "Bilar"
rubriker[1] = "Cyklar"
rubriker[2] = "Båtar"
rubriker[3] = "Flygplan"
rubriker[4] = "Dykning"
var beskrivningar = new Array(5)
beskrivningar[0] = "Den här avdelningen handlar uteslutande om bilar."
beskrivningar[1] = "Det här är en avdelning som handlar om mina cyklar."
beskrivningar[2] = "Om du gillar båtar ska du ta en närmare titt på den här avdelningen."
beskrivningar[3] = "Att flyga kan vara spännade, på den här sidan hittar du mera information."
beskrivningar[4] = "Detta är en avdelning som bara handlar om dykning."
För övrigt, ett tips på hur du kan göra din array-kod lite bättre:
var nycklar = [];
nycklar.push(["sida1.html", "bil", "ratt", "växelspak", "motor"]);
nycklar.push(["sida2.html", "cykel", "cyklar", "styre", "hjälm"]);
nycklar.push(["sida3.html", "båt", "motor", "knop", "ankare"]);
nycklar.push(["sida4.html", "roder", "vinge", "landning", "flyga"]);
nycklar.push(["sida5.html", "simma", "dyka", "hoppa", "luft"]);
var rubriker = ["Bilar", "Cyklar", "Båtar", "Flygplan", "Dykning"];
var beskrivningar=[ "Den här avdelningen handlar uteslutande om bilar.",
"Det här är en avdelning som handlar om mina cyklar.",
"Om du gillar båtar ska du ta en närmare titt på den här avdelningen.",
"Att flyga kan vara spännade, på den här sidan hittar du mera information.",
"Detta är en avdelning som bara handlar om dykning."];
for(i=0;i<nycklar.length;i++) {
for(j=0;j<nycklar[i].length;j++) {
for(k=0;k<rubriker.length;k++) {
Jag orkar inte förklara i detalj hur koden fungerar, men den göra samma sak som den kod du hade innan, med skillnaden att den dels är kompaktare, dels att du kan lägga till och ta bort poster utan att ändra femmorna därnere.
När jag provade ditt förslag på ändring i jsfilen så fungerade det inte först.
Så det tog mig en stund att se vad som var fel :)
Du var kanske för snabb på tangentbordet :) för du hade skrivit
var beskrivningar[ "Den här avdelningen handlar uteslutande om bilar.",
"Det här är en avdelning som handlar om mina cyklar.",
"Om du gillar båtar ska du ta en närmare titt på den här avdelningen.",
"Att flyga kan vara spännade, på den här sidan hittar du mera information.",
"Detta är en avdelning som bara handlar om dykning."];
när det skall var
var beskrivningar=[ "Den här avdelningen handlar uteslutande om bilar.",
"Det här är en avdelning som handlar om mina cyklar.",
"Om du gillar båtar ska du ta en närmare titt på den här avdelningen.",
"Att flyga kan vara spännade, på den här sidan hittar du mera information.",
"Detta är en avdelning som bara handlar om dykning."];
Men nu fungerar allt som det skall :)
Jag vill tacka dig för ditt tips om jsfilen det kommer bli mycket smidigare att jobba med.
var beskrivningar[ "Den här avdelningen handlar uteslutande om bilar.",
...
när det skall var
var beskrivningar=[ "Den här avdelningen handlar uteslutande om bilar.",
Jo i regel så testar jag inte kod som jag på postar på forum, så ibland smyger det sig in småfel. Det ska självklart stå som du har skrivit. Jag ha ändrat det i mitt eget inlägg också nu.
Hej nitro2k01
Jag hoppas inte du blev sur för mitt för inlägg för det var inte min avsikt :q
Nu har jag ändrat min stora jsfil det tog 2.5tim och funkade perfekt försat gången jag provade. :)
Nu har jag en ny fråga?
När du har sökt och får träff och sen klickar dig vidare på länken så uppnas sidan i samma fönster.Jag skulle vilja att det uppnades ett nytt fönster. Som när man använder target="_blank".
Tror du att det går att fixa :q
Nejdå, jag blev inte sur. Jag berättade hur det är. Jag testar ofta inte end längre bitar med kod, och därför kan de innehålla fel. (Eller de innehåller fel enligt Murphy's lag, första paragrafen)
Nåväl, eftersom resultaten skrivs ut i vanlig HTML, är det bara att lägga till target="_blank" där.