Jag har en funktion som ska kontrollera att man matat in något i ett sökfält. Kontrollen fungerar bra men fältet skickas ända iväg. Så här ser det ut.
function CheckSearch() {
if (sok.kategori.value == 0) {
alert("Du måste välja en kategori");
sok.kategori.Focus();
return false;
}
if(sok.SearchString.value == "") {
alert("Du måste fylla i ett sökord");
sok.SearchString.Focus();
return false;
}
return true;
}
function CheckSearch(){
if (sok.kategori.value == 0){
alert("Du måste välja en kategori");
sok.kategori.Focus();
return false;
} else
if(sok.SearchString.value == ""){
alert("Du måste fylla i ett sökord");
sok.SearchString.Focus();
return false;
} else {
return true;
}
}
Det berodde alltså på att efter du satt return till false så satte du det till true igen. Skulle kanske även gå att skriva så som du skrev bara att man la return true; längst upp, men jag skulle skriva så här. :)
Jag har gjort precis som du föreslagit men det fungerar ändå inte. Sidan skickas fortfarande iväg... Vad kan jag ha missat??
function CheckSearch() {
if (sok.kategori.value == 0) {
alert("Du måste välja en kategori");
sok.kategori.Focus();
return false;
}
if(sok.SearchString.value == "") {
alert("Du måste fylla i ett sökord");
sok.SearchString.Focus();
return false;
}
else {
return true;
}
}
Pröva att bara skriva return; istället för return false.
------------------
Olle: Pappa, jag har fått en sticka i fingret...
Pappa: Nämen Olle, hur många gånger har jag sagt åt dig att du inte får klia dig i huvudet.