Avatar billede djsteiner Nybegynder
15. december 2008 - 15:59 Der er 8 kommentarer og
1 løsning

live validation

Hej jeg ville lige høre om der var nogle her på siden der viste noget om live validation??

Det jeg gerne ville var at der skulle komme et flueben når brugerne for eksempel har udfylt  et email form felt.

håber dette er forståligt på forhånd tak for hjælpen.
Avatar billede __ak Nybegynder
15. december 2008 - 16:14 #1
en hurtig omskrivning af:
http://www.white-hat-web-design.co.uk/articles/js-validation.php
------------------
<html>
<head>
<script type="text/javascript">
function validate(id, email) {
    var holder = document.getElementById('msg');
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    var address = document.getElementById(id).value;
    if(reg.test(address) == false) {
        holder.style.color = 'red';
        holder.innerHTML = 'Fejl';
    } else {
        holder.style.color = 'green';
        holder.innerHTML = 'Ok';
    }
}
</script>
</head>
<body>
<input type="text" onkeyup="validate(this.id, this.value);" id="email">*<span id="msg"></span>
</body>
</html>
-------------------------
og undskyld min brug af innerHMTL før nogen begynder at punke mig, men det er hurtigere at skrive når det er sådan noget småkode.
Avatar billede roenving Novice
15. december 2008 - 16:25 #2
Tjah, når der så også er flere misforståelser/fejl, kan man jo ligesågodt vise det korrekte ...

Din mail-reg har to væsentlige fejl, og kan f.eks. se således ud:

    var reg = /^.*@[\w\-\.]+\.[a-z]{2,6}$/i;

-- efter den gældende standard for mail-adresser (rfc2821) må ingen anden end mail-hosten validere det, der er foran @-tegnet, og der findes nu tld'er (top-level-domains) med op til 6 bogstaver (.museum !-)

-- og den korrekte måde at gøre det på, når nu .innerHTML slet ikke findes:

        holder.firstChild.nodeValue = 'Fejl';


-- og så skal den firstChild findes, så f.eks.

<span id="msg">&nbsp;</span>
Avatar billede djsteiner Nybegynder
15. december 2008 - 16:30 #3
hej Hvad så hvis jeg gene ville have et billede af et flueben i stedet for

holder.style.color = 'green';
Avatar billede roenving Novice
15. december 2008 - 16:53 #4
var holder = document.getElementById('msg');

      ...
        holder.setAttribute("src","roedKryds.gif");
      ...
        holder.setAttribute("src","flueben.gif");



...
<input type="text" onkeyup="validate(this.id, this.value);" id="email">*<img src="roedKryds.gif" id="msg">
...
Avatar billede djsteiner Nybegynder
15. december 2008 - 22:19 #5
tak for hjælpen
Avatar billede __ak Nybegynder
16. december 2008 - 09:36 #6
tak for points djsteiner.
tak roenvig.. skal vi dele?
Avatar billede djsteiner Nybegynder
16. december 2008 - 13:21 #7
Hvis i skal dele points ér der så noget jeg skal gøre ??
Avatar billede __ak Nybegynder
16. december 2008 - 15:45 #8
nej, du har allerede givet mig de points der var til dette spørgsmål.
Hvis det er skal jeg oprettet et nyt spørgsmål hvor jeg udlover nogle points som roenvig så svarer på :-)
Avatar billede roenving Novice
19. december 2008 - 16:07 #9
Tak for tanken, men jeg tror jeg overlever !-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester