Avatar billede heyn Nybegynder
08. april 2010 - 09:19 Der er 4 kommentarer og
1 løsning

Kun ét ciffer i et input-felt

Hej eksperter.

Jeg har følgende kode:

<input id="id1" name="1" />
<input id="id2" name="2" />
<input id="id3" name="3" />

Jeg ønsker det således at man kun kan indsætte ét ciffer, og kun tal, i inputfelterne. Hvis men først skriver '1' og derefter '2' skal der altså vedblivende stå '1' - ikke '12'.
Hvis men først skriver 'a' skal intet ske.
Hvis men først skriver '1' og derefter 'a' skal der vedblivende stå '1' - ikke '1a'.
Hvis man taster mellemrum i et inputfelt hvor der allerede står et tal skal feltet cleares.
Hviken onClick el. lign. "on***" som virker i alle browsere skal man anvende?

Har nogle et forslag til en funktion?

Mvh Christian
Avatar billede olebole Juniormester
08. april 2010 - 11:19 #1
<ole>

<input onkeyup='this.value=this.value.replace(/\D+/g, "")' type="text">


Men du bør undlade at forsøge at bruge XHTML. Dels giver det ikke mening at scripte på formfelter under ægte X(HT)ML - og dels er XHTML som sådan forældet  ;o)

/mvh
</bole>
Avatar billede heyn Nybegynder
10. april 2010 - 01:22 #2
Jeg skrev
<input id="id1" name="1" />
<input id="id2" name="2" />
<input id="id3" name="3" />

Men faktisk er det

<input id="id1" name="1" />
<input id="id2" name="2" />
...
<input id="id20" name="3" />

Jeg prøvede dette:
function checkField(id){
    document.getElementById(id).value.replace(/\D+/g, "");
}

<input id="id1" name="10" value="" onkeyup='checkField(this)' />

Men det virker ikke

Dit forslag forhindrer heller ikke at man skriver '23' i feltet, kun '2a'
Avatar billede dennisbjorn Juniormester
12. april 2010 - 13:11 #3
prøv at tilføje

Maxlength=1

og

onKeyPress="return isNumberKey(event)" i dine inputfelter.

der kalder nedenstående funktion:


<script>
    function isNumberKey(e){
    var charCode=(e.which) ? e.which : event.keyCode
    if(charCode>31&&(charCode<48||charCode>57))return false;
    return true
    }   
</script>
Avatar billede heyn Nybegynder
14. april 2010 - 00:12 #4
Fantastisk - Det virker!
Virkelig mange tak.

Smart måde at skelne mellem explorer og firefox/mosilla etc.

Smid et svar

Mvh Christian
Avatar billede dennisbjorn Juniormester
14. april 2010 - 07:52 #5
velbekomme :-)
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