Avatar billede retep Nybegynder
19. oktober 2001 - 14:53 Der er 6 kommentarer og
1 løsning

kun tal i input type=text

Hejsa ;)

Er der monstro nogen der ligger inde med en js funktion, der sikrer at der kun tastes tal ind i en <input type=\"test\"> ??

Avatar billede retep Nybegynder
19. oktober 2001 - 14:54 #1
Søgningen her på eksperten er rent ud sagt blevet elendig efter de er begyndt at sende en over til Google :-/
Avatar billede yellow Nybegynder
19. oktober 2001 - 14:57 #2
<input type=\"text\"> mener du vel??

Skal funktionen validere dit felt ved et klik på en knap, eller skal den forhindre, at der bliver tastet andet end tal ind, når du trykker på tasterne ( onkeydown )?
Avatar billede retep Nybegynder
19. oktober 2001 - 15:06 #3
Jeps text... ;) Lille tastefejl.

Forhindre at der kommer andet ind i feltet...
Avatar billede jakoba Nybegynder
19. oktober 2001 - 15:20 #4
<script language=\'javascript\'>

var ciffer = /^\\d$/;  // test for \'kun cifre\'

function tvingCifre ( feltObj ) {
    if ( ciffer.test( teltObj.value ) {
        // alt er ok
    } else {
        var til = \"\";
        var fra = feltObj.value;
        for (var i=0; fra-length>i; i++ )
            if ( ciffer.test( fra.charAt(i) ) )
                til += fra.charAt(i);
        feltObj.value = til;
    }
}; //end tvingCifre ( Form element )

</script>

dit textfelt skrives så som:

<input type=\"test\" onkeyup=\"tvingCifre( this )\">

Den kan virke ubehageligt i nogen browsere da tekstcurseren kan hoppe hen forrest i tallet hvis brugeren skriver et ikke-ciffer.

mvh JakobA
Avatar billede jakoba Nybegynder
19. oktober 2001 - 15:22 #5
ups.  staver felt forkert (med t) i første if-sætning:
    if ( ciffer.test( feltObj.value ) {
Avatar billede jakoba Nybegynder
19. oktober 2001 - 15:23 #6
Ups. Ups. og gal regexp (manglede en *)
var ciffer = /^\\d*$/;  // test for \'kun cifre\'
Avatar billede retep Nybegynder
19. oktober 2001 - 15:42 #7
Perf.

Den færdige og fungerende version kommer her:

var ciffer = /^\\d*$/;

function tvingCifre(feltObj){

    if (ciffer.test(feltObj.value)) {
        // alt er ok
    } else {
        var til = \"\";
        var fra = feltObj.value;
        for (var i=0; fra.length>i; i++ )
            if ( ciffer.test( fra.charAt(i) ) )
                til += fra.charAt(i);
        feltObj.value = til;
    }
}


Tak ;)
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