Avatar billede googolplex Novice
24. februar 2004 - 21:17 Der er 14 kommentarer og
1 løsning

Javascript validering - roenving

Ref: http://eksperten.dk/spm/448991

Jeg kan simpelthen ikke få mit javascript validering til at fungere :(

Min kode:

<script type="text/javascript">
<!--
function jjrValidate(field, regex, iconid)
{
    if (field.value.match(regex))
    {
        document.getElementById(iconid).src="/ok.gif";
    }
    else
    {
        document.getElementById(iconid).src="/no.gif";
    }
}
//-->
</script>

<form action"/formtest.php" method="get">
<input type="text" name="fornavn" value="test" maxlength="255"  onkeyup="jjrValidate(this, '/^test$/', 'iconid1')" /><img src="/ok.gif" title="" id="iconid1" />
</form>

Her bruger jeg:

onkeyup="jjrValidate(this, '/^test$/', 'iconid1')"

Det virker ikke, men hvis jeg bruger:

onkeyup="jjrValidate(this, '^test$', 'iconid1')"

Så virker det! Jeg troede da man skulle bruge // delimeters ?!

Hvis jeg så bruger følgende for at validere et postnummer:

onkeyup="jjrValidate(this, '/^\d{4}$/', 'iconid1')"

Eller

onkeyup="jjrValidate(this, '^\d{4}$', 'iconid1')"

Så virker intet af det!!

Jeg fatter hat og briller, hvad gør jeg galt?
Avatar billede skovenborg Nybegynder
24. februar 2004 - 23:51 #1
prøv at undlade anførselstegn på din regexp:
onkeyup="jjrValidate(this, /^\d{4}$/, 'iconid1')"

Det er nemlig en speciel ting ved regular expressions at de ikke bliver defineret som strenge, men blot med /.../. Dog skal du stadig gøre det hvis du skrev new RegExp("\d{4}","ig")
Avatar billede googolplex Novice
24. februar 2004 - 23:58 #2
Ok, det giver mening i forhold til det jeg har læst rundt omkring, kunne bare ikke finde ud af hvad de mente :)

Vender lige tilbage imorgen...
Avatar billede roenving Novice
25. februar 2004 - 00:50 #3
-- og så lige en lille forglemmelse i skovenborgs kommentar:

new RegExp("\\d{4}","ig")
Avatar billede skovenborg Nybegynder
25. februar 2004 - 07:25 #4
hovsa ;-)
Avatar billede googolplex Novice
25. februar 2004 - 15:15 #5
Så virker det vidst :P

http://googolplex.dk/f1.html

Men hvordan får jeg javascript til at validere 'med det samme' ? Jeg har prøver, onfocus, onblur og onkeyup, men intet virker :(
Avatar billede googolplex Novice
25. februar 2004 - 15:16 #6
Skal lige siges at min regex ser således ud:

/^$|^\d{4}$/

Så kan feltet også være tomt, det er derfor jeg gerne vil have den til at validere med det samme :)
Avatar billede roenving Novice
25. februar 2004 - 15:18 #7
Måske:

/^$|^\d{0,4}$/ og så onkeypress eller onkeyup ...
Avatar billede googolplex Novice
25. februar 2004 - 17:04 #8
Fik nok forklaret mig dårligt. Min regex virker perfekt, men den validere ikke når siden loades, men først når feltet får focus. Jeg har prøvet med:

onload="jjrValidate(this, /^$|^\d{4}$/, 'iconid1')"
onblur="jjrValidate(this, /^$|^\d{4}$/, 'iconid1')"
onfocus="jjrValidate(this, /^$|^\d{4}$/, 'iconid1')"
onkeyup="jjrValidate(this, /^$|^\d{4}$/, 'iconid1')"
onkeypress="jjrValidate(this, /^$|^\d{4}$/, 'iconid1')"

Jeg ville have troet at 'onload' var løsningen, men det virker heller ikke... Kan problemet løses ?
Avatar billede skovenborg Nybegynder
25. februar 2004 - 17:15 #9
hva' med:
<body onload="jjrValidate(document.forms[0].fornavn, /^$|^\d{4}$/, 'iconid1');">

men det giver jo kun mening hvis der står noget i forvejen
Avatar billede googolplex Novice
25. februar 2004 - 17:29 #10
Har tænkt over at det er ligegyldigt, for det hele valideres også via PHP, så den korrekte gif loades allerede :)

Fatter bare ikke hvorfor 'onload' ikke virker som jeg har brugt det...

Smid et svar begge!!
Avatar billede skovenborg Nybegynder
25. februar 2004 - 19:31 #11
hvis du har prøvet med:
onload="jjrValidate(this, /^$|^\d{4}$/, 'iconid1')"
er det klart det ikke virker da this jo ikke referer til dit input-element men til dit body-element (hvis du altså har sat den i BODY -onload gør ingenting ved input-felter.
Avatar billede googolplex Novice
25. februar 2004 - 19:40 #12
onload gør ingenting ved input-felter - Tak, det var bare det jeg ikke vidste :)

Venter lige på roenving!!
Avatar billede googolplex Novice
26. februar 2004 - 19:25 #13
roenving ?
Avatar billede roenving Novice
23. maj 2004 - 17:38 #14
Tjah, fandt ud af at der er en fejl, så jeg aldrig får mails, hvis mit brugernavn står i titellinjen ,-(
Avatar billede googolplex Novice
23. maj 2004 - 19:19 #15
Vil du have nogen point ?

Jeg var ikke klar over det med dit navn :(
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