controle waarde

Status
Niet open voor verdere reacties.

jacobboersma

Gebruiker
Lid geworden
11 sep 2007
Berichten
428
Ik heb dit script. Nu wil ik graag controleren of de waarde groter is dan 0 en kleiner dan 9. Het mag dus een waarde hebben van 1 t/m 8.

Code:
function checkAant(elem) {
    var b = elem.value;   
    var total = 0;
    b = removeDots( b );
    var j = b.length;
    for( var i = 0; i < b.length; i++ ) {
        total += b.charAt( i ) * j;
        j -= 1;
    }
	if( b.length < 1)
{
   alert('U dient een getal op te geven bij aantal kaarten! (minimaal 1)');
 elem.style.backgroundColor = '#c33';   
    }else{
       elem.style.backgroundColor = '#3c3';   
   }
}
		function berLW()
        {
          var getal = document.getElementById('Aantal_K').value;
          document.getElementById('prijslw').innerHTML = "&euro;" + Math.round(getal * 17.5);
                 }
 
[JS]function checkAant(elem) {
var b = elem.value;
var total = 0;
b = removeDots( b );
var j = b.length;
for( var i = 0; i < b.length; i++ ) {
total += b.charAt( i ) * j;
j -= 1;
}
if( b.length < 1)
{
alert('U dient een getal op te geven bij aantal kaarten! (minimaal 1)');
elem.style.backgroundColor = '#c33';
}else{
elem.style.backgroundColor = '#3c3';
}
}
function berLW()
{
var getal = document.getElementById('Aantal_K').value;
document.getElementById('prijslw').innerHTML = "&euro;" + Math.round(getal * 17.5);
}[/JS]

Om welke waarde gaat 't precies? Waar je in ieder geval op moet letten is dit: als je van een variabele w wil controleren of de waarde tussen 0 en 9 zit, dan moet w van type Number zijn. Als je userinput uit een textveld haalt, heb je vaak nog te maken met strings.
Om te converteren kun je de standaardfunctie parseInt gebruiken:
[JS]var w = elem.value;
w = parseInt(w, 10);
if (w < 1 || 8 < w) {
//Fout
}
else {
//Ok
}[/JS]
 
Ik heb het script nu aangepast. Het wetkt nu. Helemaal geweldig. Het probleem is dat de browser zegt dat er een fout in het script op de webpagina zit.

[JS]function checkAant(elem) {
var w = elem.value;
w = parseInt (w, 10);
if( w < 1 || 8<w) {

alert('U dient een getal op te geven bij aantal kaarten! (minimaal 1, maiximaal 8)');
elem.style.backgroundColor = '#c33';
}else{
elem.style.backgroundColor = '#3c3';
}
}
function berLW()
{
var getal = document.getElementById('Aantal_K').value;
document.getElementById('prijslw').innerHTML = "&euro;" + Math.round(getal * 17.5);
}[/JS]
 
Ik zie zo 1-2-3 niet wat er fout aan zou zijn. En als het script doet wat jij wil dat het doet, dan heeft je browser 't misschien gewoon fout :P Maar misschien kun je nog een regelnummer vinden, of een beschrijving van de fout? Dat kan verklaren waarom de browser klaagt.
 
Ah :) Mijn browser zegt: TWTR is not defined, index.php (line 685)
Ik denk dat het probleem verholpen wordt door op regel 683 "../../www.manegecaprilli.nl/wordpress/wp-content/widget.js" te vervangen door "http://www.manegecaprilli.nl/wordpress/wp-content/widget.js"
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan