Hejsa
Jeg har et par småproblemer med en valideringsfunktion.
Siden den skal validere på er:
http://tobias.dk/ipv6shells/order.php
Scriptet kan også hentes på
http://tobias.dk/ipv6shells/javascript/validateorder.js (kan også ses
nederst i mailen)
Scriptet er først lavet uden validering af den næstsidste checkbox. Fjerner
jeg denne del virker alt som det skal.
Lader jeg den være, validerer scriptet ikke længere på email, og går i
øvrigt også videre til "next" efter man trykker OK i alertboksen der popper
frem (for checkboksen) - det er jo ikke så godt! :(
Funktionen kaldes i html dokumentet ved onsubmit="return validate()
Hilsen Tobias
//Javascript
function validate() {
if (document.info.cust_name.value.length < 2) {
alert ("Please enter your full name");
return false
}
if (document.info.cust_street.value.length < 2) {
alert ("Please enter your street name");
return false
}
if (document.info.cust_city.value.length < 2) {
alert ("Please enter your city");
return false
}
if (document.info.cust_zip.value.length < 2) {
alert ("Please enter your zip code");
return false
}
if (document.info.cust_country.value.length < 2) {
alert ("Please enter your country");
return false
}
if (document.info.username.value.length < 3) {
alert ("Please choose a username, 3 characters or more");
return false
}
{
error = 0;
if(!(document.info.policies.checked) && (error==0))
{
alert('Please read our polies and accept before submitting your order');
error = 1;
}
if(error == 0)
document.forms[0].submit();
}
email= document.info.cust_email.value
emailStatus = validEmail(email)
//alert (emailStatus);
if (emailStatus == false) {
document.getElementById("email").style.visibility = "visible";
return false
}
return true;
}
function validPhone(phoneNumber) {
validChars = " +0123456789"
for (i=0; i<phoneNumber.length; i++) {
phoneChar = phoneNumber.charAt(i)
if (validChars.indexOf(phoneChar,0)==-1) {
return false
}
}
return true
}
function checkdato(dd,mm,yy) {
if (! (mm >= 1 && mm <= 12))
return 2; // ugyldig måned
leap = 31;
if (mm == 4 || mm == 6 || mm == 9 || mm == 11)
leap = 30;
if (! (yy >= 1900 && yy <= 2100))
return 3; // ugyldigt år
if (mm == 2) {
leap = 28;
if (yy % 400 == 0)
leap = 29;
else
if ((!(yy % 100 == 0)) && (yy % 4 == 0))
leap = 29;
}
if (! (dd >= 1 && dd <= leap))
return 1; // ugyldig dag
}
function validEmail(email) {
invalidChars = " /:,;"
if (email == "") {
return false
}
for (i=0; i<invalidChars.length; i++) {
badChar = invalidChars.charAt(i)
if (email.indexOf(badChar,0) > -1) {
return false
}
}
atPos = email.indexOf("@",1)
if (atPos == -1) {
return false
}
if (email.indexOf("@",atPos+1) > -1) {
return false
}
periodPos = email.indexOf(".",atPos)
if (periodPos == -1) {
return false
}
if (periodPos+3 > email.length) {
return false
}
}