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;
}
Jag anropar funktionen så här:
<form name="sok" action="sok.asp?sok=1" method="post" onSubmit="return CheckSearch();">
Är det någon som har ett förslag?
mvh André
Skriv så här så borde det funka. :)
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. :)
------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/
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;
}
}
mvh André
ERR0RMedlem sedan dec. 2000596 inlägg 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.
Äntligen löst det! Jag bytte plats på set focus och return och då fungerade det :)