[javascript] Universele formvalidatie: numerieke check

Pagina: 1
Acties:

  • lo3k
  • Registratie: Februari 2002
  • Laatst online: 08-05-2024
Ik wil een soort universele formvalidatie maken. Ik wil dus met behulp van 1 functie controleren of een bepaalde ingevoerde waarde voldoet aan een aantal eisen.

Als voorbeeld zal ik controleren of een ingevoerde waarde een getal is:

Mijn Functie:
code:
1
2
3
4
5
function isnummer(value){
    if (isNaN(value)){
        alert(value + " is geen numerieke waarde");
    }
}


Form:
code:
1
2
3
4
<form name="form" method="post">
<input type="text" name="veld1" onBlur="javascript:isnummer(this.value);">
<input type="text" name="veld2" onBlur="javascript:isnummer(this.value);">
</form>


Deze code werkt nu wel, maar nu wil ik dus ervoor zorgen dat na die alert het betreffende veld in mijn form wordt leeggemaakt.

ik heb al geprobeert om na de alert de volgende codes te gebruiken, allen zonder succes...:
this.value = "";
document.form.this.value = "";

Ook heb ik geprobeert om, wanneer ik de functie aanroep, de name van het veld mee te geven:
code:
1
onBlur="javascript:isnummer(this.value,this.name);

Deze deed ik dan in de functie op de volgende manier gebruiken:

code:
1
2
3
4
5
6
function isnummer(value,name){
    if (isNaN(value)){
        alert(value + " is geen numerieke waarde");
        document.form.name.value = "";
    }
}


Ook dit werkte niet.

Mijn vraag is dan ook, hoe zorg ik ervoor dat ik een veld na de validatie leeggemaakt krijg? Ik hoop dat jullie mijn verhaal kunnen volgen ;)
Alvast bedankt!

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
function isnummer(obj)
{
  if (isNaN(obj.value))
  {
    alert(obj.value + " is geen numerieke waarde");
    obj.value = "";
  }
}

<form name="form" method="post">
  <input type="text" name="veld1" onBlur="isnummer(this);">
  <input type="text" name="veld2" onBlur="isnummer(this);">
</form>


edit:
idd, gmta


edit:
3 gmta

[ Voor 75% gewijzigd door André op 11-10-2004 20:14 ]


  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 25-02 11:17

Clay

cookie erbij?

gewoon het input object meesturen in de blur, b.v. met

code:
1
onblur="isnummer(this);"

geen javascript: ervoor, dat is het sowieso

en dan

code:
1
2
3
4
5
6
function isnummer(input) {
   if(isNaN(input.value)) {
      alert( .... );
      input.value = "";
   }
}


edit:
gmta

edit:
mwuhaha, het kon nog langzamer!
:+

[ Voor 25% gewijzigd door Clay op 11-10-2004 20:15 ]

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


Verwijderd

HTML:
1
<input onblur="isnummer(this)">

javascript: is niet nodig in event handlers...


JavaScript:
1
2
3
4
5
6
7
function isnummer(oInput){
    var sVal = oInput.value;
    if (isNaN(sVal)){
        alert(sVal + " is geen numerieke waarde");
        oInput.value = "";
    }
}

[ Voor 9% gewijzigd door Verwijderd op 11-10-2004 20:13 . Reden: ja, kappen nou, jullie 2! :P ]


  • lo3k
  • Registratie: Februari 2002
  • Laatst online: 08-05-2024
Bedankt voor de snelle reactie!!! _/-\o_
En het werkt ook nog :7

Nogmaals bedankt :) Kga eens ff goed kijken naar de code B) ;)

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Je hebt zelfs een third-opinion, dus dan moet het wel goed zijn :P

[ Voor 6% gewijzigd door André op 11-10-2004 20:15 ]


  • lo3k
  • Registratie: Februari 2002
  • Laatst online: 08-05-2024
:P het werkt idd goed, nogmaals bedankt :)

  • akakiwi
  • Registratie: September 2000
  • Laatst online: 20-03 11:13

akakiwi

I believe in the ruling class.

Mag ik me afvragen waarom je de functieaanroep met THIS doet?
Ikzelf gebruik altijd binnen de functie event.scrElement. Werkt echt prima en je hoeft geen variabele mee te passen.

Misschien is het in jou geval makkelijk een HTC component te schrijven en dit aan elk te controleren veld te plakken. Dan kun je onblur makkelijk de inhoud controleren en weet de gebruiker meteen wat er veranderd moet worden als dat nodig is.

| Life is a game (and games are fun) | homepage |


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Omdat event.srcElement niet in FF werkt. En waarom moeilijk doen met events als je de referentie naar het object mee kunt geven. Je hoeft dan geen variabele mee te passen maar je functie wordt wel groter.
Pagina: 1