Validering af telefonnummer JS
Hej alleJeg er ved at lave et spørgeskema med checkbokse og radiobuttons. Til sidst skal brugeren indtaste e-mail og telefonnummer.
Valideringen af checkbokse, radiobuttons og e-mail virker fint med dertilhørende alert-bokse.
Valideringen af telefonnummeret kan jeg også få til at komme med en alertboks, men når man så trykker "ok" senderden brugeren videre til "tak for dine svar-siden" (og ikke retur til spørgeskemaet som den skal)
http://www.chrism.dk/haus/test2.htm
Her er hele valideringkoden: (Problemet er nederst i "function validering())
(jeg ved godt at det sandsynligvis kunne laves på en nemmere måde, men dette er hvad jeg har fundet frem til...)
function validering()
{
error = 0;
if(!((document.forms[0].hvor_blad.checked)
||(document.forms[0].hvor_lokalavis.checked)
||(document.forms[0].hvor_internet.checked)
||(document.forms[0].hvor_andre.checked)
||(document.forms[0].hvor_andet.checked)
||(document.forms[0].hvor_vedikke.checked)) && (error==0))
{
alert('Du mangler at vælge én eller flere i spørgsmål nr. 1');
error = 1;
}
if(!((document.forms[0].info_adresse.checked)
||(document.forms[0].info_tlf.checked)
||(document.forms[0].info_abningstider.checked)
||(document.forms[0].info_kokkenbilleder.checked)
||(document.forms[0].info_kokkenbeskrivelser.checked)
||(document.forms[0].info_kokkenpriser.checked)
||(document.forms[0].info_mobelbilleder.checked)
||(document.forms[0].info_mobelbeskrivelser.checked)
||(document.forms[0].info_mobelpriser.checked)
||(document.forms[0].info_andet.checked)
||(document.forms[0].info_vedikke.checked)) && (error==0))
{
alert('Du mangler at vælge én eller flere i spørgsmål nr. 2');
error = 1;
}
if(!((document.forms[0].infoikke_adresse.checked)
||(document.forms[0].infoikke_tlf.checked)
||(document.forms[0].infoikke_abningstider.checked)
||(document.forms[0].infoikke_kokkenbilleder.checked)
||(document.forms[0].infoikke_kokkenbeskrivelser.checked)
||(document.forms[0].infoikke_kokkenpriser.checked)
||(document.forms[0].infoikke_mobelbilleder.checked)
||(document.forms[0].infoikke_mobelbeskrivelser.checked)
||(document.forms[0].infoikke_mobelpriser.checked)
||(document.forms[0].infoikke_andet.checked)
||(document.forms[0].infoikke_vedikke.checked)) && (error==0))
{
alert('Du mangler at vælge én eller flere i spørgsmål nr. 3');
error = 1;
}
if(!((document.forms[0].produkter_kokken.checked)
||(document.forms[0].produkter_mobler.checked)
||(document.forms[0].produkter_hvidevarer.checked)
||(document.forms[0].produkter_sanitet.checked)
||(document.forms[0].produkter_belysning.checked)
||(document.forms[0].produkter_ingen.checked)
||(document.forms[0].produkter_andet.checked)
||(document.forms[0].produkter_vedikke.checked)) && (error==0))
{
alert('Du mangler at vælge én eller flere i spørgsmål nr. 4');
error = 1;
}
if(!((document.forms[0].produkterweb_kokken.checked)
||(document.forms[0].produkterweb_mobler.checked)
||(document.forms[0].produkterweb_hvidevarer.checked)
||(document.forms[0].produkterweb_sanitet.checked)
||(document.forms[0].produkterweb_belysning.checked)
||(document.forms[0].produkterweb_ingen.checked)
||(document.forms[0].produkterweb_andet.checked)
||(document.forms[0].produkterweb_vedikke.checked)) && (error==0))
{
alert('Du mangler at vælge én eller flere i spørgsmål nr. 5');
error = 1;
}
if(!((document.forms[0].websitet[0].checked)
|| (document.forms[0].websitet[1].checked)
|| (document.forms[0].websitet[2].checked)
|| (document.forms[0].websitet[3].checked)
|| (document.forms[0].websitet[4].checked)
|| (document.forms[0].websitet[5].checked)
|| (document.forms[0].websitet[6].checked)) && (error==0))
{
alert('Du mangler at angive et svar i spørgsmål nr. 6');
error = 1;
}
if(!((document.forms[0].struktureret[0].checked)
|| (document.forms[0].struktureret[1].checked)
|| (document.forms[0].struktureret[2].checked)
|| (document.forms[0].struktureret[3].checked)
|| (document.forms[0].struktureret[4].checked)
|| (document.forms[0].struktureret[5].checked)
|| (document.forms[0].struktureret[6].checked)) && (error==0))
{
alert('Du mangler at angive et svar i spørgsmål nr. 7');
error = 1;
}
if(!((document.forms[0].overskuelige[0].checked)
|| (document.forms[0].overskuelige[1].checked)
|| (document.forms[0].overskuelige[2].checked)
|| (document.forms[0].overskuelige[3].checked)
|| (document.forms[0].overskuelige[4].checked)
|| (document.forms[0].overskuelige[5].checked)
|| (document.forms[0].overskuelige[6].checked)) && (error==0))
{
alert('Du mangler at angive et svar i spørgsmål nr. 8');
error = 1;
}
if(!((document.forms[0].farverne[0].checked)
|| (document.forms[0].farverne[1].checked)
|| (document.forms[0].farverne[2].checked)
|| (document.forms[0].farverne[3].checked)
|| (document.forms[0].farverne[4].checked)
|| (document.forms[0].farverne[5].checked)
|| (document.forms[0].farverne[6].checked)) && (error==0))
{
alert('Du mangler at angive et svar i spørgsmål nr. 9');
error = 1;
}
if(!((document.forms[0].forbindes_med_kval[0].checked)
|| (document.forms[0].forbindes_med_kval[1].checked)
|| (document.forms[0].forbindes_med_kval[2].checked)
|| (document.forms[0].forbindes_med_kval[3].checked)
|| (document.forms[0].forbindes_med_kval[4].checked)
|| (document.forms[0].forbindes_med_kval[5].checked)
|| (document.forms[0].forbindes_med_kval[6].checked)) && (error==0))
{
alert('Du mangler at angive et svar i spørgsmål nr. 10');
error = 1;
}
if(!((document.forms[0].web_unik_design[0].checked)
|| (document.forms[0].web_unik_design[1].checked)
|| (document.forms[0].web_unik_design[2].checked)
|| (document.forms[0].web_unik_design[3].checked)
|| (document.forms[0].web_unik_design[4].checked)
|| (document.forms[0].web_unik_design[5].checked)
|| (document.forms[0].web_unik_design[6].checked)) && (error==0))
{
alert('Du mangler at angive et svar i spørgsmål nr. 11');
error = 1;
}
if(!((document.forms[0].haus_logo[0].checked)
|| (document.forms[0].haus_logo[1].checked)
|| (document.forms[0].haus_logo[2].checked)
|| (document.forms[0].haus_logo[3].checked)
|| (document.forms[0].haus_logo[4].checked)
|| (document.forms[0].haus_logo[5].checked)
|| (document.forms[0].haus_logo[6].checked)) && (error==0))
{
alert('Du mangler at angive et svar i spørgsmål nr. 12');
error = 1;
}
if(!((document.forms[0].besparelse[0].checked)
|| (document.forms[0].besparelse[1].checked)
|| (document.forms[0].besparelse[2].checked)
|| (document.forms[0].besparelse[3].checked)
|| (document.forms[0].besparelse[4].checked)
|| (document.forms[0].besparelse[5].checked)
|| (document.forms[0].besparelse[6].checked)) && (error==0))
{
alert('Du mangler at angive et svar i spørgsmål nr. 13');
error = 1;
}
if(!((document.forms[0].koen[0].checked)
|| (document.forms[0].koen[1].checked)) && (error==0))
{
alert('Du skal vælge dit køn');
error = 1;
}
if(!((document.forms[0].alder[0].checked)
|| (document.forms[0].alder[1].checked)
|| (document.forms[0].alder[2].checked)
|| (document.forms[0].alder[3].checked)
|| (document.forms[0].alder[4].checked)) && (error==0))
{
alert('Du skal vælge din alder');
error = 1;
}
if(!((document.forms[0].ægtestand[0].checked)
|| (document.forms[0].ægtestand[1].checked)
|| (document.forms[0].ægtestand[2].checked)) && (error==0))
{
alert('Du skal vælge din ægtestand');
error = 1;
}
if(!((document.forms[0].hjemmeboende[0].checked)
|| (document.forms[0].hjemmeboende[1].checked)) && (error==0))
{
alert('Du skal vælge om du har hjemmeboende børn');
error = 1;
}
if(!((document.forms[0].boligform[0].checked)
|| (document.forms[0].boligform[1].checked)) && (error==0))
{
alert('Du skal vælge hvilken boligform du har');
error = 1;
}
if(!((document.forms[0].erhvervstype[0].checked)
|| (document.forms[0].erhvervstype[1].checked)
|| (document.forms[0].erhvervstype[2].checked)
|| (document.forms[0].erhvervstype[3].checked)
|| (document.forms[0].erhvervstype[4].checked)
|| (document.forms[0].erhvervstype[5].checked)
|| (document.forms[0].erhvervstype[6].checked)) && (error==0))
{
alert('Du skal vælge hvilket erhverv du har');
error = 1;
}
if (document.forms[0].telefon.value.length != 8) {
alert('Dit telefonnummer skal indeholde 8 tal');
error = 1;
}
}
function validering_mail()
{
error = 0;
placering=0;
tekst=(document.forms[0].email.value).toLowerCase();
placering=tekst.indexOf("@");
if(tekst ==""){
alert ("Du skal indtaste din e-mail-adresse");
error = 1;
}
else{
tegn=tekst.indexOf(" ");
if(tegn!=-1){
alert ("Der må ikke være mellemrum i e-mail-adressen");
error = 1;
}
else{
if (tekst.indexOf("æ")!=-1 || tekst.indexOf("ø")!=-1 || tekst.indexOf("å")!=-1 ||
tekst.indexOf("Æ")!=-1 || tekst.indexOf("Ø")!=-1 || tekst.indexOf("Å")!=-1 ||
tekst.indexOf(";")!=-1 || tekst.indexOf(",")!=-1){
alert ("Der er ulovlige tegn i adressen. Må ikke indeholde: æ ø å Æ Ø Å , ;");
error = 1;
}
else{
if (placering<1 || tekst.length<=(placering+1)){
alert ("Din e-mail-adresse er ikke gyldig");
error = 1;
}
}
}
}
if(error == 0)
document.forms[0].submit();
}
Håber I kan hjælpe.
Jeg skal bruge det rimeligt hurtigt :o)
Med venlig hilsen
ChrisM
