JQuery - simpele rekensom
als er op de submit button gedrukt wordt, dan moet de waarde van deze 2 velden bij elkaar opgeteld worden.
Het resultaat wil ik in een div, met id result, hebben.
ik heb nu dit:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
jQuery(function(){
$("input#btnForm").submit(function(){
var result = veld1 + veld2;
$('#result').html (result);
});
});
$("input#btnForm").submit(function(){
var result = veld1 + veld2;
$('#result').html (result);
});
});
wat doe ik hier fout?
Bedankt alvast :)
edit: er is ook de Calculation plugin, maar die kan ik niet gebruiken. ik wil namelijk dit uitbreiden voor vermenigvuldigen en delen, en dat ondersteund die plugin niet :(
edit 2: ik krijg het resultaat niet te zien. dus het lijkt mij dat t ergens in de berekening fout gaat?
Gewijzigd op 01/01/1970 01:00:00 door Tamara
in plaats van
$('#result').html (result);
ik krijg nog steeds geen waarde terug...
Ik denk dat het ligt aan de variabele result.
Hoe bereken je die waarde?
Dit zegt mij niet genoeg :
var result = veld1 + veld2;
Maar als dat de berekening is, dan werkt dat niet :)
Caspar schreef op 11.12.2008 12:49:
$('#result').html (result); is de juiste code om iets in een div te zetten
Ik denk dat het ligt aan de variabele result.
Hoe bereken je die waarde?
Dit zegt mij niet genoeg :
var result = veld1 + veld2;
Maar als dat de berekening is, dan werkt dat niet :)
Ik denk dat het ligt aan de variabele result.
Hoe bereken je die waarde?
Dit zegt mij niet genoeg :
var result = veld1 + veld2;
Maar als dat de berekening is, dan werkt dat niet :)
hoe zou jij het dan doen Caspar?
als het 2 velden zijn met veld1 en veld2 als id's, dan kun je de berekening als volgt doen:
var result = $('#veld1').val() + $('#veld2').val();
ik denk ook dat je functie een false moet terug sturen anders wordt het formulier gesubmit en ben je de waardes 'kwijt' ?
ik gok maar iets, ik kan het niet met zekerheid zeggen omdat ik de rest van de code niet gezien heb
verduidelijkt dit al iets meer ?
ik heb hun naam als id's ingesteld, dus die berekening zou moetne kloppen.
het zou idd heel goed kunnen dat door de submit de gegevens kwijt gaan...
hoe moet ik dit dan oplossen?
Er een functie onkeyup op plaatsen? Dan past hij hem gewoon aan zonder wat dan ook te submitten.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
jQuery(function(){
$("input#btnForm").submit(function(){
var result = $('#veld1').val() + $('#veld2').val();
$('#result').html (result);
return false; // zorgt er voor dat de eigenlijke submit niet wordt uigevoerd
});
});
$("input#btnForm").submit(function(){
var result = $('#veld1').val() + $('#veld2').val();
$('#result').html (result);
return false; // zorgt er voor dat de eigenlijke submit niet wordt uigevoerd
});
});
edit:
je kan evt. ook een een click functie op een button ipv een submit functie op het formulier gebruiken?
Gewijzigd op 01/01/1970 01:00:00 door Caspar
ik heb vandaag op internet gelezen over een parse functie die je hiervoor kan gebruiken. Hoe heet ie ook alweer precies?
edit: parseInt zocht ik naar.
ik heb nu dit:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
$("input#btnRekenForm").click(function(){
result = parseInt($('#veld1').val()) + parseInt($('#veld2').val());
$('#result').html (result);
return false;
});
result = parseInt($('#veld1').val()) + parseInt($('#veld2').val());
$('#result').html (result);
return false;
});
en hij werkt!
maar niet altijd: pas als ik 3x achter elkaar een van de input velden heb veranderd, dan doet hij het.
Gewijzigd op 01/01/1970 01:00:00 door Tamara
je zou ze dan naar een getal moeten omzetten
in php gebruik je dan intval of een dergelijke functie.. hoe deze in javascript heet, weet ik niet precies
de "return false;" hoeft niet in de onclick functie te staan
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
$("#input#btnRekenForm").click(function(){
var aantal = $('#veld1').val();
var test = $('#veld2').val();
var result = parseFloat(aantal) + parseFloat(test);
$('#result').html (result);
});
var aantal = $('#veld1').val();
var test = $('#veld2').val();
var result = parseFloat(aantal) + parseFloat(test);
$('#result').html (result);
});
ik heb het in mn edit ook net gezegd:
hij doet het pas als je minstens 3 cijfers invult in 1 van de 2 velden
voorbeeldje:
veld1 = 5
veld2 = 908
als de waarde van veld2 naar bv. 3 veranderd, dan doet ie het niet meer.
Gewijzigd op 01/01/1970 01:00:00 door Tamara
weet iemand wat ik precies fout doe?
*bump*