Controle numeriek na klik op knop
Ik moet een opdracht maken voor school, maar ik ben nog een beetje nieuw met javascript.
Na het klikken op een knop (<button id="btnSearch" onclick="klik()">Opzoeken</button>) wil ik graag de functie klik() oproepen.
In deze functie moet ik controleren of de waarde in het tekstvak (<input type="text" id="txtNumber" />) numeriek is.
Als ik op deze knop klik, dan krijg ik altijd alert("Dit is een getal"), ook als ik niets of een letter ingeef.
Hier is mijn code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
function klik() {
var invoer = document.getElementById('txtNumber').innerText;
if(isNaN(invoer)) {
alert("Voer een getal in");
}
else if (invoer > 11) {
alert("voer een getal in tussen 0 en 10");
}
else {
alert("Dit is een getal");
}
}
var invoer = document.getElementById('txtNumber').innerText;
if(isNaN(invoer)) {
alert("Voer een getal in");
}
else if (invoer > 11) {
alert("voer een getal in tussen 0 en 10");
}
else {
alert("Dit is een getal");
}
}
Gewijzigd op 22/01/2013 14:26:14 door Jos Vermassen
Dat wordt dus
var invoer = document.getElementById('txtNumber').value;
Trouwens ... Als je verwacht dat zo'n waarde een getal is, doe het dan zo:
var invoer = Number(document.getElementById('txtNumber').value);
Kris Peeters op 22/01/2013 14:46:13:
Wel, een <input> heeft geen innerText of -HTML; wel een value
Dat wordt dus
var invoer = document.getElementById('txtNumber').value;
Trouwens ... Als je verwacht dat zo'n waarde een getal is, doe het dan zo:
var invoer = Number(document.getElementById('txtNumber').value);
Dat wordt dus
var invoer = document.getElementById('txtNumber').value;
Trouwens ... Als je verwacht dat zo'n waarde een getal is, doe het dan zo:
var invoer = Number(document.getElementById('txtNumber').value);
Oké, bedankt!
Maar ik krijg nog steeds de alert uit mijn else, doe ik nog iets verkeerd?
En is het de beste manier met 'isNaN'?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script>
function klik() {
var invoer = Number(document.getElementById('txtNumber').value);
if(isNaN(invoer)) {
alert("Voer een getal in");
}
else if (invoer > 11) {
alert("voer een getal in tussen 0 en 10");
}
else {
alert("Dit is een getal");
}
}
</script>
<input id="txtNumber" value="17.9"> <button onclick="klik()">Klik</button>
function klik() {
var invoer = Number(document.getElementById('txtNumber').value);
if(isNaN(invoer)) {
alert("Voer een getal in");
}
else if (invoer > 11) {
alert("voer een getal in tussen 0 en 10");
}
else {
alert("Dit is een getal");
}
}
</script>
<input id="txtNumber" value="17.9"> <button onclick="klik()">Klik</button>
Kris Peeters op 22/01/2013 15:28:23:
Dat werkt toch ?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script>
function klik() {
var invoer = Number(document.getElementById('txtNumber').value);
if(isNaN(invoer)) {
alert("Voer een getal in");
}
else if (invoer > 11) {
alert("voer een getal in tussen 0 en 10");
}
else {
alert("Dit is een getal");
}
}
</script>
<input id="txtNumber" value="17.9"> <button onclick="klik()">Klik</button>
function klik() {
var invoer = Number(document.getElementById('txtNumber').value);
if(isNaN(invoer)) {
alert("Voer een getal in");
}
else if (invoer > 11) {
alert("voer een getal in tussen 0 en 10");
}
else {
alert("Dit is een getal");
}
}
</script>
<input id="txtNumber" value="17.9"> <button onclick="klik()">Klik</button>
Het is opgelost bedankt, voor je hulp!