webForumDet fria alternativet

focus()

1 svar · 158 visningar · startad av kristoffer

kristofferMedlem sedan juni 20001 266 inlägg
#1
<SCRIPT LANGUAGE="JAVASCRIPT">
<!--
function checkValues() {
	if (document.kundform.firstname.value == 0) {
		alert("Du måste fylla i förnamn.");
firstname.focus();
		return false;
	}
	if (document.kundform.lastname.value == 0) {
		alert("Du måste fylla i efternamn.");
lastname.focus();
		return false;
	}
return true;
}
//-->
</script>

Formen ser ut så här:

<form name="kundform" action="post.asp" method="post" onSubmit="return checkValues();">

Om firstname-fältet är tomt så poppar alerten upp precis som den skall. Däremot skickas sidan ändå till post.asp. Det är focus() som är mysko.
Hur skall jag göra?

------------------
http://www.tavlingar.se

JojoxxMedlem sedan juni 20004 306 inlägg
#2

Lite småsaker. Rent syntax-mässigt fattas det ett "}". Sedan vill du antagligen inte kolla om värdet på fälten är 0 utan om längden på värdet är 0 (alltså om fältet är tomt). Sedan får du även ange hela objektnamnet när du skall göra focus(), på samma sätt som när du kollar värdet. Resultatet blir då;

<SCRIPT LANGUAGE="JAVASCRIPT">
<!--
function checkValues() {
	if (document.kundform.firstname.value.length == 0) {
		alert("Du måste fylla i förnamn.");
		document.kundform.firstname.focus();
		return false;
	} else if (document.kundform.lastname.value.length == 0) {
		alert("Du måste fylla i efternamn.");
		document.kundform.lastname.focus();
		return false;
	} else {
		return true;
	}
}
//-->
</script>

------------------
/ J

126 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
123 ms — hämta tråd, inlägg och bilagor (db)