31. januar 2008 - 10:49
Der er
9 kommentarer og 1 løsning
form validering, markering af felt
Har brug for noget kode der gør at hvis man fx ikke udfylder et felt der eksempelvis kunne hedder "Fornavn" at efter man så har trykket på send, at den så highlighter det felt, og skriver "Udfyld navn"
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
31. januar 2008 - 11:52
#1
Jeg har prøvet således, den validerer fint nok, men den add'er ikke et klassenavn??? function validering_kraevet(field,alerttxt) { with(field) { if(value==null||value==""){ alert(alerttxt); return false; } else { return true; } } } function valider_form(thisform){ with(thisform) { if(validering_kraevet(FirstName, "Fill out Firstname")==false) { FirstName.focus(); FirstName.className+= " error"; return false; } if(validering_kraevet(LastName, "Fill out Lastname")==false) { LastName.focus(); LastName.className+= " error"; return false; } if(valider_kraevet(Company, "Fill out company")==false){ Company.focus(); Company.className+= " error"; return false; } if(valider_kraevet(PostalAddress, "Fill out company")==false){ PostalAddress.focus(); PostalAddress.className+= " error"; return false; } if(valider_kraevet(Postcode, "Fill out company")==false){ Postcode.focus(); Postcode.className+= " error"; return false; } if(valider_kraevet(City, "Fill out company")==false){ City.focus(); City.className+= " error"; return false; } if(valider_kraevet(Phone, "Fill out company")==false){ Phone.focus(); Phone.className+= " error"; return false; } if(validering_kraevet(Email, "Fill out email")==false){ Email.focus(); Email.className+= " error"; return false; } if(validering_kraevet(EmailRepeat, "Fill out email")==false){ EmailRepeat.focus(); EmailRepeat.className+= " error"; return false; } if(validering_kraevet(CompanyCategory, "Fill out email")==false){ CompanyCategory.focus(); CompanyCategory.className+= " error"; return false; } if(validering_kraevet(JobFunction, "Fill out email")==false){ JobFunction.focus(); JobFunction.className+= " error"; return false; } } }
31. januar 2008 - 13:14
#2
className virker kun i IE, så du bør også sætte: JobFunction.class+=" error"; for andre browseres skyld. Alternativt kan du bare sætte backgroundcolor: JobFunction.style.backgroundColor="#ff0000"; eller evt. lave en funktion ud af det. Det er en skidt idé at skifte class on-the-fly, da al CSS da skal rekalkuleres.
31. januar 2008 - 23:13
#3
<ole> Property'en 'className' er en del af IDL og således en del af W3C's rekommandationer. Derimod er det kun IE, der bruger 'className', når et HTML-elements class-attribut skal sættes/læses (alle andre bruger det standardiserede 'class') ... men der er tale om to vidt forskellige ting ;o) Skift af CSS-klasse performer ganske rigtig elendigt - og det gør 'with' også. Undgå, såvidt der overhovedet er muligt, de to. /mvh </bole>
31. januar 2008 - 23:14
#4
"når et HTML-elements class-attribut skal sættes/læses med set-/getAttribute" - skulle der stå :)
31. januar 2008 - 23:26
#5
Ok, så den bedste løsning er? - Er ikke verdens hårdeste til javascript :S
31. januar 2008 - 23:44
#6
At kode det manuelt, f.eks.: JobFunction.style.backgroundColor="#ff0000"; JobFunction.style.border="0px";
01. februar 2008 - 10:50
#7
Det funger skam perfekt... Takker... Ligger du et svar ?
01. februar 2008 - 13:08
#8
Oki! =)
01. februar 2008 - 13:08
#9
Som svar!
01. april 2008 - 12:09
#10
Lukketid?
Vi tilbyder markedets bedste kurser inden for webudvikling