Hallo,
Ik ben helemaal nieuw in Javascript, omdat ik voor een klant in een joomlasite een bestelform moet steken, met voorwaarden die niet mogelijke zijn in de joomlawebshop, maak ik het met RSformsPRo. Ik heb het bijna voor elkaar gekregen.
Het is een simpel formulier met maar 20 producten.
Je vinkt de checkbox aan bij 1 product en dan kan je in een dropdown het aantal kiezen.
Je krijgt dan een totaal, er wordt een vast bedrag van 10 bij geteld.
Er wordt een waarborg bijgeteld die het bedrag is van waarde van het product.
Btw berekening werkt.
Probleem is de korting.
Als je meer dan 2 stuks van 1 product kiest dan wordt de helft van de waarde van hete product afgetrokken ( werkt)
Probleem 1 Als je meerder producten kiest, dan werkt die korting alleen als je bij al die producten er meer dan 2 kiest. Zit er 1 product bij waar je er max 2 van neemt, dan werkt de hele korting niet meer.
Probleem 2 Mijn klant wil nu ook meerdere voorwaarden: aantal> - 5 aantal > 10. Hoe moet ik dat doen?
Als iemand mij wil en kan helpen. Het hoeft niet gratis, als je er echt maar goed in thuis bent.
Probleem 3 Een bepaalde berekening (btw) mag maar gebeuren aan de hand van de optie die men in een radiobox aanklikt ( btw-plichtig of niet)
Als iemand mij wil en kan helpen. Het hoeft niet gratis, als je er echt maar goed in thuis bent. Probleem 3 is minder belangrijk, dat kan ik voorlopig nog oplossen met 2 formulieren.
Hartelijk dank op voorhand.
Groeten
Lode
(ps: ik ben vertrokken van een scriptje dat bij het component zat waar je gewoon 3 producten kon optellen naar een totaal - dus geen btw of kortingen of waarborgen)
[JS]<script type="text/javascript">
function enableQuantity(prod,quantity)
{
if(document.getElementById(prod).checked)
document.getElementById(quantity).disabled = false;
else
document.getElementById(quantity).disabled = true;
calculateTotal();
}
function calculateTotal()
{
var products = new Array("Product10","Product20","Product30","Product40","Product50","Product60","Product70","Product80","Product90","Product100","Product110","Product120","Product130","Product140","Product150" ,"Product160","Product170");
var i=0;
var total = 0;
var Waarborg = 0;
var Korting = 0;
for(i;i<products.length;i++)
if(document.getElementById(products).checked)
{
//alert(document.getElementById("QuantityProd"+(i+1)).value);
total = total + parseInt(document.getElementById(products).value) * parseInt(document.getElementById('QuantityProd'+(i+1)).value);
Waarborg=Waarborg +parseInt(document.getElementById(products).value);
if (document.getElementById('QuantityProd'+(i+1)).value > 2)
{
Korting = Korting + parseInt(document.getElementById(products).value/2);
}
else
{
Korting = 0;
}
}
if (total>0)
{
Toegangspas=10
}
else
{
Toegangspas=0;
}
EindTotaal = total + Toegangspas + Waarborg;
btw=EindTotaal * 0.19;
eindtotaalbtwin = EindTotaal + btw;
document.getElementById('Total').value = total;
document.getElementById('Korting').value = Korting;
document.getElementById('Waarborg').value = Waarborg;
document.getElementById('Toegangspas').value = Toegangspas;
document.getElementById('EindTotaal').value = EindTotaal;
document.getElementById('BTW').value = btw;
document.getElementById('EindTotaalBtwIn').value = eindtotaalbtwin;
}
</script>
<script type="text/javascript">
enableQuantity('Product10','QuantityProd1');
enableQuantity('Product20','QuantityProd2');
enableQuantity('Product30','QuantityProd3');
enableQuantity('Product40','QuantityProd4');
enableQuantity('Product50','QuantityProd5');
enableQuantity('Product60','QuantityProd6');
enableQuantity('Product70','QuantityProd7');
enableQuantity('Product80','QuantityProd8');
enableQuantity('Product90','QuantityProd9');
enableQuantity('Product100','QuantityProd10');
enableQuantity('Product110','QuantityProd11');
enableQuantity('Product120','QuantityProd12');
enableQuantity('Product130','QuantityProd13');
enableQuantity('Product140','QuantityProd14');
enableQuantity('Product150','QuantityProd15');
enableQuantity('Product160','QuantityProd16');
enableQuantity('Product170','QuantityProd17');
</script>
[/JS]
Ik ben helemaal nieuw in Javascript, omdat ik voor een klant in een joomlasite een bestelform moet steken, met voorwaarden die niet mogelijke zijn in de joomlawebshop, maak ik het met RSformsPRo. Ik heb het bijna voor elkaar gekregen.
Het is een simpel formulier met maar 20 producten.
Je vinkt de checkbox aan bij 1 product en dan kan je in een dropdown het aantal kiezen.
Je krijgt dan een totaal, er wordt een vast bedrag van 10 bij geteld.
Er wordt een waarborg bijgeteld die het bedrag is van waarde van het product.
Btw berekening werkt.
Probleem is de korting.
Als je meer dan 2 stuks van 1 product kiest dan wordt de helft van de waarde van hete product afgetrokken ( werkt)
Probleem 1 Als je meerder producten kiest, dan werkt die korting alleen als je bij al die producten er meer dan 2 kiest. Zit er 1 product bij waar je er max 2 van neemt, dan werkt de hele korting niet meer.
Probleem 2 Mijn klant wil nu ook meerdere voorwaarden: aantal> - 5 aantal > 10. Hoe moet ik dat doen?
Als iemand mij wil en kan helpen. Het hoeft niet gratis, als je er echt maar goed in thuis bent.
Probleem 3 Een bepaalde berekening (btw) mag maar gebeuren aan de hand van de optie die men in een radiobox aanklikt ( btw-plichtig of niet)
Als iemand mij wil en kan helpen. Het hoeft niet gratis, als je er echt maar goed in thuis bent. Probleem 3 is minder belangrijk, dat kan ik voorlopig nog oplossen met 2 formulieren.
Hartelijk dank op voorhand.
Groeten
Lode
(ps: ik ben vertrokken van een scriptje dat bij het component zat waar je gewoon 3 producten kon optellen naar een totaal - dus geen btw of kortingen of waarborgen)
[JS]<script type="text/javascript">
function enableQuantity(prod,quantity)
{
if(document.getElementById(prod).checked)
document.getElementById(quantity).disabled = false;
else
document.getElementById(quantity).disabled = true;
calculateTotal();
}
function calculateTotal()
{
var products = new Array("Product10","Product20","Product30","Product40","Product50","Product60","Product70","Product80","Product90","Product100","Product110","Product120","Product130","Product140","Product150" ,"Product160","Product170");
var i=0;
var total = 0;
var Waarborg = 0;
var Korting = 0;
for(i;i<products.length;i++)
if(document.getElementById(products).checked)
{
//alert(document.getElementById("QuantityProd"+(i+1)).value);
total = total + parseInt(document.getElementById(products).value) * parseInt(document.getElementById('QuantityProd'+(i+1)).value);
Waarborg=Waarborg +parseInt(document.getElementById(products).value);
if (document.getElementById('QuantityProd'+(i+1)).value > 2)
{
Korting = Korting + parseInt(document.getElementById(products).value/2);
}
else
{
Korting = 0;
}
}
if (total>0)
{
Toegangspas=10
}
else
{
Toegangspas=0;
}
EindTotaal = total + Toegangspas + Waarborg;
btw=EindTotaal * 0.19;
eindtotaalbtwin = EindTotaal + btw;
document.getElementById('Total').value = total;
document.getElementById('Korting').value = Korting;
document.getElementById('Waarborg').value = Waarborg;
document.getElementById('Toegangspas').value = Toegangspas;
document.getElementById('EindTotaal').value = EindTotaal;
document.getElementById('BTW').value = btw;
document.getElementById('EindTotaalBtwIn').value = eindtotaalbtwin;
}
</script>
<script type="text/javascript">
enableQuantity('Product10','QuantityProd1');
enableQuantity('Product20','QuantityProd2');
enableQuantity('Product30','QuantityProd3');
enableQuantity('Product40','QuantityProd4');
enableQuantity('Product50','QuantityProd5');
enableQuantity('Product60','QuantityProd6');
enableQuantity('Product70','QuantityProd7');
enableQuantity('Product80','QuantityProd8');
enableQuantity('Product90','QuantityProd9');
enableQuantity('Product100','QuantityProd10');
enableQuantity('Product110','QuantityProd11');
enableQuantity('Product120','QuantityProd12');
enableQuantity('Product130','QuantityProd13');
enableQuantity('Product140','QuantityProd14');
enableQuantity('Product150','QuantityProd15');
enableQuantity('Product160','QuantityProd16');
enableQuantity('Product170','QuantityProd17');
</script>
[/JS]
Laatst bewerkt: