Avatar billede trekkies Juniormester
13. december 2005 - 19:56 Der er 17 kommentarer og
2 løsninger

Validering af tekst bokse

Har er ved at lave en opdatering til min hjemmeside, og derfor vil jeg ændre på min validering af tekst bokse, nu bliver fejlen visr i en pop-up vindue, som I kan se nedenunder:

IE:
http://www.darkskies.dk/exp_billeder/ie10.jpg
Firefox:
http://www.darkskies.dk/exp_billeder/firefox10.jpg

Men som I kan se så bliver fejlen vist på forskellige måder, kan man ikke droppe vinduet og få vist fejlen på siden i stedet for?
Avatar billede yezbarh Nybegynder
13. december 2005 - 21:51 #1
Du kan enten bruge:
document.write("Du mangler email <br />Samt navn");

eller lave en div:

<div id="errors"></div>

Også kører:

document.getElementById('errors').innerHTML = "Du mangler email";
ved flere:
document.getElementById('errors').innerHTML += "Du mangler også dit navn!!!";
Avatar billede trekkies Juniormester
13. december 2005 - 22:51 #2
Nu er det sikkert mig som er ved at være træt, men hvordan skal jeg lige gør det?

Min validering ser sådan ud nu:
<script type="text/javascript">
<!--
    function Validering(theForm)
{
        err = '';

    if (theForm.titel.value == '')
    {
        err += "Emne\r";
    }
    else
    {
        test = theForm.titel.value;
        test = test.replace('<','');
        test = test.replace('>','');
        theForm.titel.value = test;
    }

    if (err!= '')
    {
        alert('Du bedes udfylde følgende felter:\r' + err);
            return (false);
    }
        else
    {
            return (true);
    }
}

//-->
</script>

Hvordan vil den nye validering se ud?
Avatar billede yezbarh Nybegynder
13. december 2005 - 23:49 #3
<div id="errors" style="color:red;font-weight:bold;"></div>

<script type="text/javascript">
<!--
    function Validering(theForm)
{
        err = '';

    if (theForm.titel.value == '')
    {
        err += "Emne\r";
    }
    else
    {
        test = theForm.titel.value;
        test = test.replace('<','');
        test = test.replace('>','');
        theForm.titel.value = test;
    }

    if (err!= '')
    {
        document.getElementById('errors').innerHTML = "Du bedes udfylde følgende felter:\r' + err);
            return (false);
    }
        else
    {
            return (true);
    }
}

//-->
</script>
Avatar billede yezbarh Nybegynder
13. december 2005 - 23:50 #4
Hov, nok nærmere

document.getElementById('errors').innerHTML = "Du bedes udfylde følgende felter:<br />"+err;
Avatar billede trekkies Juniormester
14. december 2005 - 14:50 #5
Det er lide det som jeg skal bruge, mange tak for det :)

Hvis du vil være så venlig at lægge et svar, så vil jeg sende dig nogle point.
Avatar billede trekkies Juniormester
14. december 2005 - 14:53 #6
Lige en ting til, nu har jeg en for titel og en for besked, men de kommer til at stå ved siden af hinanden, kan man ikke få dem til at stå neden under hinanden?

Nu skal der:
Du bedes udfylde følgende felter:
Emne Besked

Vil vil gerne have det at stå:
Du bedes udfylde følgende felter:
Emne
Besked

Hvordan gør jeg har?
Avatar billede trekkies Juniormester
14. december 2005 - 14:54 #7
Ups.
Hvordan gør jeg har?

skulle stå:
Hvordan gør jeg det?
Avatar billede trekkies Juniormester
14. december 2005 - 15:31 #8
Nu da jeg alligevel har et spørgsmål åbent, hvordan laver jeg således at "titel" skal være mindst 8 tegn lang?
Avatar billede roenving Novice
14. december 2005 - 18:15 #9
Prøv at bruge Newline i stedet for carriage Return !-)

        err += "Emne\n";
Avatar billede roenving Novice
14. december 2005 - 18:16 #10
Vrøvl, det er jo innerHTML, så det skal være <br>

        err += "Emne<br>";
Avatar billede trekkies Juniormester
14. december 2005 - 18:51 #11
Det hjalp :)

Men hvordan løser jeg det med de 8 tegn(Se kommentar 14/12-2005 15:31:53)?
Avatar billede yezbarh Nybegynder
14. december 2005 - 21:17 #12
Svar her, hvis det kunne bruges.
Avatar billede roenving Novice
15. december 2005 - 15:43 #13
if (theForm.titel.value.match(/\w{8,}/))
Avatar billede trekkies Juniormester
15. december 2005 - 16:52 #14
Hvis jeg bruger den kode du har skrevet, så virker den ikke, man får ikke nogle fejl meddelse, sådan ser koden ud:
if (theForm.titel.value.match(/\w{8,}/))
{
    err += "Mindst 8 tegn skal være i titel boksen<br>";
}

Jeg troede at der skulle bruges "length" i koden.
Avatar billede roenving Novice
15. december 2005 - 23:27 #15
Uff, der mangler jo en not-operator:

if (!theForm.titel.value.match(/\w{8,}/))
Avatar billede trekkies Juniormester
16. december 2005 - 10:33 #16
Ja, nu virker det :)

Smidder du også et svar roenving?
Avatar billede roenving Novice
16. december 2005 - 16:56 #17
Velbekomme '-)

-- og length ville f.eks. tillade, at man bre holdt mellemrumstasten nede !-)
Avatar billede trekkies Juniormester
16. december 2005 - 17:00 #18
Ja, så kan man jo ikke lave den fejl :)

Takker jer begge to for jeres hjælp.
Avatar billede roenving Novice
16. december 2005 - 17:13 #19
-- og jeg takker for point ;~}
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