WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Javascript för att bort bokstäver (https://www.wn.se/forum/showthread.php?t=22593)

Althalos 2007-08-02 02:40

<!--
function IsNumeric(sText) {
var ValidChars = "0123456789";
var IsNumber=true;
var Char;

for (i = 0; i < sText.length && IsNumber == true; i++)
{
Char = sText.charAt(i);
if (ValidChars.indexOf(Char) == -1)
{
alert('Endast siffror får användas i detta fält!')
this.value = sText.replace(Char,'')
}
}
}
-->
</script>

Lägger ovanstående skript i onKeyUp-eventet i ett input-element. Argumentet är this.value .. tanken är att så fort man skriver en bokstav skall den tas bort, men det fungerar inte.. varför inte? kan någon hjälpa mig med hur det skall skrivas?

Tack

Clarence 2007-08-02 06:47

this.value betyder där fönsterobjektets värde. Från eventen får du inte inputen som this utan fönsterobjektet. Ändra argument till enbart this och funktionen till följande, så funkar det förutsatt att besökaren inte skriver snabbt.
Kod:

function IsNumeric(objekt) {
var sText = objekt.value;
var ValidChars = "0123456789";
var IsNumber=true;
var Char;

for (i = 0; i < sText.length && IsNumber == true; i++)
{
Char = sText.charAt(i);
if (ValidChars.indexOf(Char) == -1)
{
alert('Endast siffror får användas i detta fält!')
objekt.value = sText.replace(Char,'')
}
}
}


Althalos 2007-08-02 14:11

Ah, tack.


Alla tider är GMT +2. Klockan är nu 10:53.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson