Avatar billede moso Nybegynder
19. oktober 2006 - 10:22 Der er 7 kommentarer og
1 løsning

Hvordan kan man skifte det første bogstav til stort?

Jeg leder efter en funktion hvor indtastningen i et felt altid starter med et stort bogstav. Brugeren indtaster sit fornavn og efternavn, men "glemmer" ofte af skrive det første bogstav med stort. Så "fornavn" bliver til "Fornavn". Kan det lade sig gøre?
Avatar billede jtofte Nybegynder
19. oktober 2006 - 11:20 #1
Hej

Her er et simpelt et der gerne skulle virke

function stort(vars)
{
    var str = vars.value;
    str = str.replace(str.substring(0,1),str.substring(0,1).toUpperCase());
    vars.value = str;           
}
og i din tekstbox skal du tilføje onChange="stort(this)"
Avatar billede olebole Juniormester
19. oktober 2006 - 11:32 #2
<ole>

Hvad man laver i JS på klienten, kan man aldrig være sikker på, afspejler sig i det, der ender på serveren. Derfor laver man altid valideringer og den slags tilretninger, du efterspørger, på serveren. Er der tale om PHP, kan du passende bruge:
    http://dk2.php.net/manual/da/function.ucfirst.php

/mvh
</bole>
Avatar billede moso Nybegynder
19. oktober 2006 - 12:13 #3
Det virker fint. Jeg har tjekket at variablen som bliver sendt videre er med stort bogstav, så det ser ud til at det der ender på serveren også er det rigtige. Tak for hjælpen. Point?
Avatar billede moso Nybegynder
19. oktober 2006 - 12:15 #4
Måske en udfordring: Det drejer som om indtastning af navne. Den funktion der er angivet ovenfor virker på det første bogstav (perfekt), men hvad nu hvis man skriver sit mellemnavn: fornavn mellemnavn, så rettes kun det første. Kan man rette alle begyndende bogstaver til?
Avatar billede jtofte Nybegynder
19. oktober 2006 - 12:33 #5
her skulle den laver hvert ord stort
function stort(vars)
{
    var str = vars.value;
    var output = "";
    var tekst = str.split(" ");
    for(i = 0; i < tekst.length; i++)
    {
    if(tekst[i] != " ")
                {
                    output += tekst[i].replace(tekst[i].substring(0,1),tekst[i].substring(0,1).toUpperCase()) + " ";   
                }
            }
            vars.value = output;           
        }
Avatar billede jtofte Nybegynder
19. oktober 2006 - 12:35 #6
og et svar hvis du kunne bruge det til noget
Avatar billede olebole Juniormester
19. oktober 2006 - 12:47 #7
moso >> Ja, når du selv skriver i din form, ender det sikkert korrekt på serveren  :)

Pointen er blot, at du ikke kan regne med, det er din form, der bliver brugt. Endvidere kan du ikke være sikker på, der ikke bliver manipuleret med din form i dit eget dokument - hvis det er den, der bliver brugt.

Derfor retter man altid den slags på serveren, hvis det er noget, der er af væsentlig betydning. Af samme grund må man aldrig stole på en JavaScript-validering. Data-rettelser og validering med JS er _kun_ til for brugerens skyld, men giver _absolut_ ingen sikkerhed for, hvad der f.eks. ender i ens database  ;o)
Avatar billede moso Nybegynder
19. oktober 2006 - 12:58 #8
jtofte: Takker. Ole: Tak for kommentaren, jeg holder øje med det. I denne sammenhæng er det ikke super vigtigt, men derfor er din kommentater vigtig nok i andre sammenhænge.
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