Hejsa...
Til trods for at jeg ikke er nogen ørn til at skrive scripts, så
er det alligevel lykkedes at frembringe et script til validering
af en selectbox. Desværre validerer scriptet ikke korrekt på alle
tider af døgnet. Det ene øjeblik validere alt som det skal, og et
kvarter efter er der fejl.
Jeg er formodning om, at fejlen ligger heromkring, kig engang:
if ((hour >= 15, minute >= 15) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.select... osv...osv...
Scriptet kan afprøves her:
www.katgrafik.dk/exp
hvor også en uddybende forklaring til valideringen findes.
Mon der er nogen som kan gennemskue fejlen, eller er det helt
håbløst?
De bedste hilsner
Anders Boll
Scriptet i sin helhed nedenfor:
<script type="text/javascript">
<!--//
function validate(form1) {
if (form1.Afhentningstidspunkt.value == "") {
alert("Du skal vælge et tidspunkt, hvornår du afhenter din
bestilling.");
form1.Afhentningstidspunkt.focus();
return false;
}
var d = new Date()
var hour = d.getHours()
var minute = d.getMinutes()
if ((hour >= 11) && (form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==1)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 11, minute >= 15) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==2)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 11, minute >= 30) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==3)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 11, minute >= 45) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==4)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 12) && (form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==5)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour > 12, minute >= 15) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==6)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 12, minute >= 30) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==7)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 12, minute >= 45) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==8)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 13) && (form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==9)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 13, minute >= 15) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==10)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 13, minute >= 30) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==11)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 13, minute >= 45) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==12)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 14) && (form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==13)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 14, minute >= 15) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==14)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 14, minute >= 30) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==15)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 14, minute >= 45) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==16)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 15) && (form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==17)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 15, minute >= 15) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==18)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 15, minute >= 30) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==19)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 15, minute >= 45) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==20)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 16) && (form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==21)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 16, minute >= 15) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==22)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 16, minute >= 30) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==23)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 16, minute >= 45) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==24)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 16, minute >= 45) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==25)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 16, minute >= 45) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==26)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 17) && (form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==27)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 17, minute >= 15) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==28)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 17, minute >= 30) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==29)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 17, minute >= 45) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==30)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 18) && (form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==31)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 18, minute >= 15) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==32)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 18, minute >= 30) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==33)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 18, minute >= 45) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==34)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 19) && (form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==35)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 19, minute >= 15) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==36)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 20) && (form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==37)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 20, minute >= 15) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==38)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 20, minute >= 30) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==39)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 20, minute >= 45) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==40)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 21) && (form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==41)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 21, minute >= 15) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==42)) {
alert("Du skal vælge et senere tidspunkt");
form1.Afhentningstidspunkt.focus();
return false;
}
if ((hour >= 21, minute >= 30) &&
(form1.Afhentningsdag.selectedIndex==0) &&
(form1.Afhentningstidspunkt.selectedIndex==43)) {
alert("Der kan ikke bestilles til afhentning i dag");
form1.Afhentningstidspunkt.focus();
return false;
}
}
//-->
</script>
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! =>
http://www.html.dk/tutorials