webForumDet fria alternativet

Nybörjar problem med validering av fält

3 svar · 226 visningar · startad av Zaiman

ZaimanMedlem sedan dec. 20014 239 inlägg
#1

Hejsan allesamman kanske ni kan hjälpa mig lite.

Jag har ett script som kollar om ett antal fält är ifyllda (inga problem) men när jag anropar en annan funktion i samma script (mitt i typ) så kommer jag inte tillbaka från funtionen jag anropar och resterande fält blir aldrig validerade.

Någon som kan visa mig i rätt riktning?

------------------
Zaiman
-----------
din vän i mörkret?

JojoxxMedlem sedan juni 20004 308 inlägg
#2

Vad gör den andra funktionen som du anropar? Jag tror du får visa ett exempel på din funktion.

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

ZaimanMedlem sedan dec. 20014 239 inlägg
#3

Så här ser scriptet ut..

<!--
function bildvaxel(url, alt, bredd, hojd)
{
document.bilden.src = url
document.bilden.alt = alt
document.bilden.width = bredd
document.bilden.height = hojd
}
//-----------------------------------------------
//Kontrollerar om allt är ifyllt för att skickas
//-----------------------------------------------

function mailkoll()
{
var flagga
flagga = 0;
var namn=document.order.namnet.value;
{
if (document.order.namnet.value == "")
{
alert("Du har inte skrivit in ditt namn!");
flagga = 1;
}
här kommer anropet
else if (document.order.namnet.value != "")
{
validate(namn);
}
Här vill jag forsätta efter anropet
else if (document.order.adress.value == "")
{
alert("Du ha inte skrivit in din adress!")
flagga = 1;
}
else if (document.order.telefon.value == "")
{
alert("Du har inte lämnat telefonnummer!");
flagga = 1;
}
else if (document.order.epost.value.indexOf("@.") == -1)
{
alert("Du har skrivit din epostadress fel!\rAdressen måste innehålla minst ett @ tecken och en punkt");
flagga = 1;
}
else if (antal_vuxna == 0 && antal_barn == 0)
{
alert("Du kan inte boka för noll personer!");
flagga = 1;
}
else if (kontrollera == 0)
{
alert("Du har inte klickat på Räkna! \nKlicka på räkna innan du klickar på skicka!");
kontrollera = 0;
}

function validera(namn)
// Validerar om det finns siffror i fältet
{
// var namnet=document.order.namnet.value;
var valid="1234567890"
for (var i=0; i<namn.length; i++)
{
if (valid.indexOf(namn.charAt(i)) != -1)
{
alert('Du får inte ha siffror i fältet namn!');
return false;
}
}
}
}
}
//-->

Så här ser hela scriptet ut..

Men fungerar inte..

[Redigerat av Zaiman den 04 jan 2002]

JojoxxMedlem sedan juni 20004 308 inlägg
#4

För det första får du kolla över dina "måsvingar". Ditt script börjar med;

function mailkoll()
{
var flagga
flagga = 0;
var namn=document.order.namnet.value;
{

Vad gör den sista måsvingen "{" här?

Sedan kan du inte gör funktionsanropet som du markerat där, den avbryter if-satsen så att resten "hänger i luften". Exempel;

if(testuttryck){
// scriptkod...
} else if (testuttryck){
// scriptkod...
} else {
// sciptkod (om inget av ovanstående testuttryck är sant)
}

mellan } och nästa { får du inte göra funktionsanrop.

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

130 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)