[JS] isNan error!

Pagina: 1
Acties:

  • Spooksel
  • Registratie: Oktober 2000
  • Laatst online: 23:40
Als ik het volgende probeer:
HTML:
1
2
3
4
5
6
7
8
9
<script type="JavaScript">
function checkNan(x) {
    if (isNan(x.value)) {
        alert('alarm')
        }
    }
</script>

<input type="text" name="gtot" onBlur="checkNan(this)"/>

Dan krijg ik echt constant de error 'isNan is not defined' terug. Wat gaat er hier nou mis! Als ik de werking opzoek van isNan() dan zegt zo'n beetje iedere site dat je gewoon een value door isNan() heen moet trekken en dan moet ie TRUE of FALSE zeggen... maar nee!

Is deze code nou gewoon fout?

Bevalt mijn schrijfsel je niet? www.korrelatie.nl


  • Kama
  • Registratie: Mei 2002
  • Laatst online: 22-12-2025

Kama

Game Coordinator

Probeer es isNaN() :?

drs. Kama


  • Spooksel
  • Registratie: Oktober 2000
  • Laatst online: 23:40
omg, dat zoiets lomps het al is! JS, het zal nooit mijn favo worden!

tnx :)

Bevalt mijn schrijfsel je niet? www.korrelatie.nl


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 07:29

crisp

Devver

Pixelated

zeker PHP gewent met z'n case-insensitivity; het zijn juist de serieuzere talen die wel case-sensitive zijn :P

Intentionally left blank


  • Spooksel
  • Registratie: Oktober 2000
  • Laatst online: 23:40
Doe mij idd maar php :)

Bevalt mijn schrijfsel je niet? www.korrelatie.nl


  • Spooksel
  • Registratie: Oktober 2000
  • Laatst online: 23:40
Toch nog even een vervolg vraagje, ik heb de code aangepast naar:
code:
1
2
3
4
5
6
7
8
9
<script type="JavaScript">
function checkNan(x) {
    if (isNan(x.value)) {
        alert('alarm')
        i = x.name
        document.forms[0].i.focus()
        }
    }
</script>

Dit zou in theorie de focus weer op het veld moeten leggen dat zojuist gechecked is. Maar dat is dus niet het geval. Want als ik uit het veld in kwestie wegtab (om dus 'onBlur()' te veroorzaken) dan komt ie niet meer terug voor een correctie! Hoe kan dat dan?

Bevalt mijn schrijfsel je niet? www.korrelatie.nl


Verwijderd

JavaScript:
1
2
3
4
5
6
7
8
<script type="JavaScript">
function checkNan(x) {
    if (isNaN(x.value)) {
        alert('alarm');
        x.focus();
        }
    }
</script>

  • Spooksel
  • Registratie: Oktober 2000
  • Laatst online: 23:40
Sorry, die had ik ook al geprobeerd!

Zelfs al schrijf ik het voluit (document.tent.gtot.focus()) dan pakt hij het ook niet, maar komt gewoon in het volgende veld terecht!

Bevalt mijn schrijfsel je niet? www.korrelatie.nl


  • Blaise
  • Registratie: Juni 2001
  • Niet online
Misschien met een return false (zodat de focus van volgende veld wordt gecanceld) of setTimeout (zodat hij wel de volgende focust, maar meteen weer terugspringt)?

Verwijderd

Spooksel schreef op maandag 26 juni 2006 @ 01:43:
Sorry, die had ik ook al geprobeerd!

Zelfs al schrijf ik het voluit (document.tent.gtot.focus()) dan pakt hij het ook niet, maar komt gewoon in het volgende veld terecht!
Als het goed is krijg je linksonderin het IE-scherm een javascript-fout icoontje.
Of in Mozilla kun je de JavaScript-console oproepen om fouten te kunnen zien.

Dan had je gezien dat je op elke regel een ";" vergeten was.

Edit:
En je moet weldegelijk x.focus() hebben.

[ Voor 7% gewijzigd door Verwijderd op 26-06-2006 01:52 ]


  • Tsjilp
  • Registratie: November 2002
  • Niet online

Tsjilp

RS[I]ds

Als het goed is krijg je linksonderin het IE-scherm een javascript-fout icoontje.
Of in Mozilla kun je de JavaScript-console oproepen om fouten te kunnen zien.

Dan had je gezien dat je op elke regel een ";" vergeten was.
Javascript doet niet moeilijk over de ;, daar kan het niet aan liggen.

Raar... Is zo gek nog niet


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Tsjilp schreef op maandag 26 juni 2006 @ 10:41:
[...]


Javascript doet niet moeilijk over de ;, daar kan het niet aan liggen.
Pardon? Sinds wanneer is dat?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Tsjilp
  • Registratie: November 2002
  • Niet online

Tsjilp

RS[I]ds

RobIII schreef op maandag 26 juni 2006 @ 10:43:
[...]

Pardon? Sinds wanneer is dat?
Een linebreak is voldoende voor javascript, probeer maar eens
code:
1
2
3
var string = "dit is een
string";
alert(string);

gaat niet werken...
maar dit:
code:
1
2
var string = "dit is een string"
alert(string);

works like a charm.

wil je meerdere statements op 1 regel dan zul je idd de puntkomma moeten gebruiken.

Raar... Is zo gek nog niet


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 19-02 14:03

RM-rf

1 2 3 4 5 7 6 8 9

JavaScript:
1
2
3
4
5
6
7
8
9
<script type="JavaScript">
function checkNan(x) {
    if (isNan(x.value)) {
        alert('alarm')
        i = x.name
        document.forms[0].i.focus()
        }
    }
</script>


dat stukje i = x.name;document.forms[0].i.focus(); is natuurlijk een gigantisch slordige wijze van met objecten omgaan... ik denk dat zelfs explorer dat niet eens meet goedrekend... enkel de PHP engine zal wel ruimhartig met zulke zaken omgaan (insert hatelijke opmerking over php-aapjes)...

de variabele x in je functie bevat een referentie naar het form-element object, wil je deze weer een focus geven, moet je gewoon x.focus() doen.
dus:
JavaScript:
1
2
3
4
5
6
function checkNan(x) {
    if (isNan(x.value)) {
        alert('alarm')
        x.focus()
        }
    }


wat je deed met document.forms[0].i is teken voor een denkfout in het begripo van het Document Object Model...
dat had enkel wel gewerkt als je document.forms[0].elements[ i ] met het verschil dat dat nogal een onnodige omweg is als je sowieso dat object al in de variabele 'x' hebt zitten.

[ Voor 7% gewijzigd door RM-rf op 26-06-2006 15:11 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen

Pagina: 1