JavaScript zur Berechnung der besten Kombination
Für einen .html Produktblatt soll die beste Bundlekombination errechnet werden
Hallo zusammen,
ich suche ein Skript, welches mir aus einer gegebenen Menge bspw. 33 eine Anzahl an 20er, 10er und 5er Bundles liefert, welche immer die maximale zahl an 20er, dann 10er und dann erst 5er Bundles berücksichtigt.
am bsp. 33 sind das also 1x20er,1x10er und 1x5er
am bsp. 100 sind das also 5x20er
am bsp. 16 ist das 1x20er
am bsp. 14 ist das 1x10er und 1x5er
dürfte klar sein
kann mir da vielleicht jemand helfen?
Hallo zusammen,
ich suche ein Skript, welches mir aus einer gegebenen Menge bspw. 33 eine Anzahl an 20er, 10er und 5er Bundles liefert, welche immer die maximale zahl an 20er, dann 10er und dann erst 5er Bundles berücksichtigt.
am bsp. 33 sind das also 1x20er,1x10er und 1x5er
am bsp. 100 sind das also 5x20er
am bsp. 16 ist das 1x20er
am bsp. 14 ist das 1x10er und 1x5er
dürfte klar sein
kann mir da vielleicht jemand helfen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 112470
Url: https://administrator.de/contentid/112470
Ausgedruckt am: 05.11.2024 um 11:11 Uhr
24 Kommentare
Neuester Kommentar
Also ich habs nur mal grob zusammengestöpselt.
ich glaube das geht so in deine Richtung.
function brack(amount, vpe, vpe2, vpe3)
{
var sp = (amount / vpe);
spl = amount % vpe;
if(spl > 0)
{
a = Math.floor(sp);
re = amount % vpe;
spl2 = re % vpe2;
if( spl2 > 0 )
{
b = Math.floor(re/vpe2);
re2 = re % vpe2;
spl3 = re2 % vpe3;
if( spl3 > 0 )
{
c = Math.floor(re2/vpe3);
if( c == "0" )
c = 1;
}
else
{
if(re2/vpe3 < 1)
{
c = 1;
}
else
{
c = re2/vpe3;
}
}
}
else
{
if(re/vpe2 < 1)
{
b = 1;
}
else
{
b = re/vpe2;
}
}
}
else
{
if(amount/vpe < 1)
{
a = 1;
}
else
{
a = amount/vpe;
}
}
return a+" - "+b+" - "+c;
}
alert(brack(44,20,10,5));
ich glaube das geht so in deine Richtung.
Hm eigentlich sieht das nicht so schlimm aus.
function brack(amount, vpe, vpe2, vpe3)
{
var sp = (amount / vpe);
spl = amount % vpe;
if(spl > 0)
{
a = Math.floor(sp);
spl2 = spl % vpe2;
if( spl2 > 0 )
{
b = Math.floor(spl2/vpe2);
spl3 = spl2 % vpe3;
if( spl3 > 0 )
{
c = Math.floor(spl3/vpe3);
if( c == "0" )
c = 1;
}
else
{
if(spl3/vpe3 < 1)
{
c = 1;
}
else
{
c = spl3/vpe3;
}
}
}
else
{
alert("b "+spl/vpe2);
if(spl/vpe2 < 1)
{
b = 1;
c = 0;
}
else
{
b = spl/vpe2;
c = 0;
}
}
}
else
{
if(amount/vpe < 1)
{
a = 1;
b = 0;
c = 0;
}
else
{
a = amount/vpe;
b = 0;
c = 0;
}
}
return a+"x1003 - "+b+"x1002 - "+c+"x1001";
}
var url = encodeURI(window.location);
var Zeile = url.split("?");
var param = Zeile[1].split("&");
var ids = new Array();
var amounts = new Array();
for(i=0;i<param.length;i++)
{
if(param[i].indexOf("ID")!= -1)
{
var spli = param[i].split("=");
ids.push(spli[1]);
} else if(param[i].indexOf("AM") != -1) {
var spli2 = param[i].split("=");
amounts.push(spli2[1]);
}
}
var products = new Array();
for(i=0;i<ids.length;i++)
{
if(amounts[i] >= 50)
{
if(amounts[i] >= 250)
{
bundle = ids[i]+' Menge(n):1x1005';
}
else
{
bundle = ids[i]+' Menge(n):1x1004';
}
}
else
{
bundle = ids[i]+' Menge(n):'+brack(amounts[i],20,10,5);
}
products.push(bundle);
}
for(i=0;i<products.length;i++)
{
alert(products[i]);
}
Hm ich sehs gerade das was ich da gebaut habe sollte an dem Punkt ansetzen wo die URL
der Form ID=xxx&ID1=xxxx&AM=xxx&AM1=xxx lautet, also erst nach dem ganzen Formular.
Wie soll das ganze dann aussehen gibt es da ein feld für die Menge für jedes Produkt?
Blick da irgendwie noch net ganz durch an welchem Punkt das Script arbeiten muss.
Kannst mir da mal einen Ablauf geben?
der Form ID=xxx&ID1=xxxx&AM=xxx&AM1=xxx lautet, also erst nach dem ganzen Formular.
Wie soll das ganze dann aussehen gibt es da ein feld für die Menge für jedes Produkt?
Blick da irgendwie noch net ganz durch an welchem Punkt das Script arbeiten muss.
Kannst mir da mal einen Ablauf geben?
sodala
also nun hier die Lösung:
also nun hier die Lösung:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
<script type="text/javascript">
var amounts = new Array();
var cnt = 0;
function brack(amount,vpe,pid,sid) {
var sub1 = 0;
var sub2 = 10;
if(amount > 0 ) {
if(amount >= 50 && amount < 250) {
amounts[sid].push("1x"+pid[cnt+3]);
} else if(amount >= 250) {
amounts[sid].push("1x"+pid[cnt+4]);
/*} else {
if(sub2 > 5 && sub1 < 11) {
amounts[sid].push("1x"+pid[1]);
} else if( sub2 <= 5 ) {
amounts[sid].push("1x"+pid);
} else {
brack(sub1,vpe - sub2,pids,sid);
}*/
} else {
if((amount / vpe) > 1) {
amounts[sid].push(Math.floor(amount/vpe)+"x"+pid[cnt+2]);
sub1 = amount - (Math.floor(amount/vpe)*vpe);
sub2 = cnt == 0 ? 10 : 5;
pids = cnt == 0 ? pid[1] : pid;
cnt++;
if(amount % vpe != 0) {
if(sub1 > 5 && sub1 < 11) {
amounts[sid].push("1x"+pid[1]);
} else if( sub1 <= 5 ) {
amounts[sid].push("1x"+pid);
} else {
brack(sub1,vpe - sub2,pid,sid);
}
}
} else if(amount == vpe) {
amounts[sid].push("1x"+pid[cnt+2]);
sub1 = amount - vpe;
} else {
if(amount > 5 && amount < 11) {
amounts[sid].push("1x"+pid[1]);
} else if( amount <= 5 ) {
amounts[sid].push("1x"+pid);
} else {
brack(amount,vpe - sub2,pid,sid);
}
}
}
}
}
function calculateBundles() {
var productsAmounts = document.getElementsByName("Amount");
var products = new Array();
for(i=0;i<productsAmounts.length;i++)
{
var locAmount = productsAmounts[i].value;
cnt = 0;
amounts[i] = new Array();
pids = new Array(i+"001",i+"002",i+"003",i+"004",i+"005");
brack(locAmount,20,pids,i);
}
for(i=0;i<amounts.length;i++)
{
var bundleVal = "";
for(j=0;j<amounts[i].length;j++) {
bundleVal += " "+amounts[i][j];
}
var target = "bundles"+(i+1);
document.getElementById(target).value = bundleVal;
}
}
</script>
</head>
<body>
<table id="table1">
<thead>
<tr class="odd">
<td class="column1"></td>
<th scope="col" abbr="Home">5er Lizenz Bundle</th>
<th scope="col" abbr="Home Plus">10er Lizenz Bundle</th>
<th scope="col" abbr="Business">20er Lizenz Bundle</th>
<th scope="col" abbr="Business">Ab 50 Lizenzen</th>
<th scope="col" abbr="Business">Ab 250 Lizenzen</th>
</tr>
</thead>
<tfoot>
</tfoot>
<tbody>
<tr>
<th scope="row" class="column1">Produkt A</th>
<td id="td1"><span class="Stil1">.100,00</span> / Bundle (ID 1001) </td>
<td id="td1"><span class="Stil1">.200,00</span> / Bundle (ID 1002) </td>
<td id="td1"><span class="Stil1">.400,00</span> / Bundle (ID 1003) </td>
<td id="td1"><span class="Stil1">.20,00</span> / Benutzer (ID 1004) </td>
<td id="td1"><span class="Stil1">.15,00</span> / Benutzer (ID 1005) </td>
</tr>
<tr class="odd">
<th scope="row" class="column1">Produkt B</th>
<td id="td1"><span class="Stil1">.200,00</span> / Bundle (ID 2001) </td>
<td id="td1"><span class="Stil1">.380,00</span> / Bundle (ID 2002) </td>
<td id="td1"><span class="Stil1">.720,00</span> / Bundle (ID 2003) </td>
<td id="td1"><span class="Stil1">.36,00</span> / Benutzer (ID 2004) </td>
<td id="td1"><span class="Stil1">.34,20</span> / Benutzer (ID 2005) </td>
</tr>
</tbody>
</table>
<form method="post" name="LIZ" action="https://shop.xxx.com/cgi-bin/cart/ml=DE?">
<br />
Anzahl der Lizenzen/Benutzer (Amount)
<br />
p1<input id="Amount" name="Amount" type="text" value="0" size="5" maxlength="3" />
p2<input id="Amount" name="Amount" type="text" value="0" size="5" maxlength="3" />
<input id="bundles1" name="bundles" type="text" value="" size="40"/>
<input id="bundles2" name="bundles" type="text" value="" size="40"/>
<input type="button" onClick="calculateBundles()" value="calculate">
<input type="submit" name="button" id="button" value="Senden" />
</form>
</body>
</html>
Sodala den ganzen JavascriptTeil kannst auslagern in eine Externe Datei.
ah grml hab noch fehler gefunden bin am überarbeiten.....
so ausgebessert
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
<script type="text/javascript">
var amounts = new Array();
var cnt = 0;
var ids = new Array();
function brack(amount,vpe,pid,sid) {
var sub1 = 0;
var sub2 = 10;
if(amount > 0 ) {
if(amount >= 50 && amount < 250) {
amounts[sid].push(amount);
ids[sid].push(pid[cnt+3]);
} else if(amount >= 250) {
amounts[sid].push(amount);
ids[sid].push(pid[cnt+4]);
} else {
if((amount / vpe) > 1) {
intID = sid == 0 ? '' : sid+1;
amounts[sid].push(Math.floor(amount/vpe));
ids[sid].push(pid[2-cnt]);
sub1 = amount - (Math.floor(amount/vpe)*vpe);
sub2 = cnt == 0 ? 10 : 5;
pids = cnt == 0 ? pid[1] : pid;
cnt++;
if(amount % vpe != 0) {
if(sub1 > 5 && sub1 < 11) {
amounts[sid].push(1);
ids[sid].push(pid[1]);
} else if( sub1 <= 5 ) {
amounts[sid].push(1);
ids[sid].push(pid);
} else {
brack(sub1,vpe - sub2,pid,sid);
}
}
} else if(amount == vpe) {
amounts[sid].push(1);
ids[sid].push(pid[cnt+2]);
sub1 = amount - vpe;
} else {
if(amount > 5 && amount < 11) {
amounts[sid].push(1);
ids[sid].push(pid[1]);
} else if( amount <= 5 ) {
amounts[sid].push(1);
ids[sid].push(pid);
} else {
brack(amount,vpe - sub2,pid,sid);
}
}
}
}
}
function calculateBundles() {
var productsAmounts = document.getElementsByName("Amount");
var products = new Array();
var idString = "";
var amountString = "";
for(i=0;i<productsAmounts.length;i++)
{
var locAmount = productsAmounts[i].value;
cnt = 0;
amounts[i] = new Array();
ids[i] = new Array();
pids = new Array(i+1+"001",i+1+"002",i+1+"003",i+1+"004",i+1+"005");
brack(locAmount,20,pids,i);
}
for(i=0;i<ids.length;i++)
{
var bundleVal = "";
for(j=0;j<ids[i].length;j++) {
a = j==0 ? '' : j;
b = i==0 ? i : j+i*ids[i].length+1;
c = i==0 ? a : b;
bundleVal += "&ID"+c+"="+ids[i][j];
}
idString += bundleVal;
}
for(i=0;i<amounts.length;i++)
{
var bundleVal = "";
for(j=0;j<amounts[i].length;j++) {
a = j==0 ? '' : j;
b = i==0 ? i : j+i*ids[i].length+1;
c = i==0 ? a : b;
bundleVal += "&AM"+c+"="+amounts[i][j];
}
amountString += bundleVal;
}
document.getElementById("bundles1").value = idString;
document.getElementById("bundles2").value = amountString;
var target = "https://shop.xxx.com/cgi-bin/cart/ml=DE?"+idString.substr(1,idString.length)+amountString;
document.LIZ.action = target;
document.LIZ.submit();
}
</script>
</head>
<body>
<table id="table1">
<thead>
<tr class="odd">
<td class="column1"></td>
<th scope="col" abbr="Home">5er Lizenz Bundle</th>
<th scope="col" abbr="Home Plus">10er Lizenz Bundle</th>
<th scope="col" abbr="Business">20er Lizenz Bundle</th>
<th scope="col" abbr="Business">Ab 50 Lizenzen</th>
<th scope="col" abbr="Business">Ab 250 Lizenzen</th>
</tr>
</thead>
<tfoot>
</tfoot>
<tbody>
<tr>
<th scope="row" class="column1">Produkt A</th>
<td id="td1"><span class="Stil1">.100,00</span> / Bundle (ID 1001) </td>
<td id="td1"><span class="Stil1">.200,00</span> / Bundle (ID 1002) </td>
<td id="td1"><span class="Stil1">.400,00</span> / Bundle (ID 1003) </td>
<td id="td1"><span class="Stil1">.20,00</span> / Benutzer (ID 1004) </td>
<td id="td1"><span class="Stil1">.15,00</span> / Benutzer (ID 1005) </td>
</tr>
<tr class="odd">
<th scope="row" class="column1">Produkt B</th>
<td id="td1"><span class="Stil1">.200,00</span> / Bundle (ID 2001) </td>
<td id="td1"><span class="Stil1">.380,00</span> / Bundle (ID 2002) </td>
<td id="td1"><span class="Stil1">.720,00</span> / Bundle (ID 2003) </td>
<td id="td1"><span class="Stil1">.36,00</span> / Benutzer (ID 2004) </td>
<td id="td1"><span class="Stil1">.34,20</span> / Benutzer (ID 2005) </td>
</tr>
</tbody>
</table>
<form method="post" name="LIZ" action="https://shop.xxx.com/cgi-bin/cart/ml=DE?">
<br />
Anzahl der Lizenzen/Benutzer (Amount)
<br />
p1<input id="Amount" name="Amount" type="text" value="0" size="5" maxlength="3" />
p2<input id="Amount" name="Amount" type="text" value="0" size="5" maxlength="3" />
<input id="bundles1" name="bundles" type="text" value="" size="40"/>
<input id="bundles2" name="bundles" type="text" value="" size="40"/>
<input type="button" onClick="calculateBundles()" value="calculate">
<input type="submit" name="button" id="button" value="Senden" />
</form>
</body>
</html>
so ausgebessert
Sodala da ist jetzt nur der javascriptteil.
Die Erweiterung kommt mit mehr input Feldern
und zwar die die sich da <input id="Amount" name="Amount" schimpfen
Der Code selbst dürfte sich dann schon durchgraben.
Die Erweiterung kommt mit mehr input Feldern
und zwar die die sich da <input id="Amount" name="Amount" schimpfen
Der Code selbst dürfte sich dann schon durchgraben.
var amounts = new Array();
var cnt = 0;
var ids = new Array();
function brack(amount,vpe,pid,sid) {
var sub1 = 0;
var sub2 = 10;
if(amount > 0 ) {
if(amount >= 50 && amount < 250) {
amounts[sid].push(amount);
ids[sid].push(pid[cnt+3]);
} else if(amount >= 250) {
amounts[sid].push(amount);
ids[sid].push(pid[cnt+4]);
} else {
if((amount / vpe) > 1) {
intID = sid == 0 ? '' : sid+1;
amounts[sid].push(Math.floor(amount/vpe));
ids[sid].push(pid[2-cnt]);
sub1 = amount - (Math.floor(amount/vpe)*vpe);
sub2 = cnt == 0 ? 10 : 5;
pids = cnt == 0 ? pid[1] : pid;
cnt++;
if(amount % vpe != 0) {
if(sub1 > 5 && sub1 < 11) {
amounts[sid].push(1);
ids[sid].push(pid[1]);
} else if( sub1 <= 5 ) {
amounts[sid].push(1);
ids[sid].push(pid);
} else {
brack(sub1,vpe - sub2,pid,sid);
}
}
} else if(amount == vpe) {
amounts[sid].push(1);
ids[sid].push(pid[cnt+2]);
sub1 = amount - vpe;
} else {
if(amount > 5 && amount < 11) {
amounts[sid].push(1);
ids[sid].push(pid[1]);
} else if( amount <= 5 ) {
amounts[sid].push(1);
ids[sid].push(pid);
} else {
brack(amount,vpe - sub2,pid,sid);
}
}
}
}
}
function createURL(arr,description) {
cnter = 0;
target = "";
for(i=0;i<arr.length;i++)
{
var bundleVal = "";
for(j=0;j<arr[i].length;j++) {
c = cnter == 0 ? '' : cnter;
bundleVal += "&"+description+c+"="+arr[i][j];
cnter++;
}
target += bundleVal;
}
return target;
}
function calculateBundles() {
var productsAmounts = document.getElementsByName("Amount");
var products = new Array();
var idString = "";
var amountString = "";
for(i=0;i<productsAmounts.length;i++)
{
var locAmount = productsAmounts[i].value;
cnt = 0;
amounts[i] = new Array();
ids[i] = new Array();
pids = new Array();
for(c=1;c < 24;c++) {
pids.push(9000+c);
}
brack(locAmount,20,pids,i);
}
idString = createURL(ids,"ID");
amountString = createURL(amounts,"AM");
document.getElementById("bundles1").value = idString;
document.getElementById("bundles2").value = amountString;
var target = "https://shop.xxx.com/cgi-bin/cart/ml=DE?"+idString.substr(1,idString.length)+amountString;
document.LIZ.action = target;
//document.LIZ.submit();
}
ähm warum müssen die bitte chronologisch sein?
naja das ist auch klar das er dir nur 900x Produkte auswirft. is ja auch nur für 4 ausgelegt.
Wenn du mir jetzt mal erklärst was du genau brauchst dann kann ich da evtl. was machen.
Wieso sind die Produkte nun auf einmal 9001 - 9055? vorher wars noch 1001-1005........
naja das ist auch klar das er dir nur 900x Produkte auswirft. is ja auch nur für 4 ausgelegt.
Wenn du mir jetzt mal erklärst was du genau brauchst dann kann ich da evtl. was machen.
Wieso sind die Produkte nun auf einmal 9001 - 9055? vorher wars noch 1001-1005........
So jetzt glaub ich hab ich es falls sich die Anforderungen icht odch noch ändern ...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
<script type="text/javascript">
var amounts = new Array();
var cnt = 0;
var ids = new Array();
function brack(amount,vpe,pid,sid) {
var sub1 = 0;
var sub2 = 10;
if(amount > 0 ) {
if(amount >= 50 && amount < 250) {
amounts[sid].push(amount);
ids[sid].push(pid[cnt+3]);
} else if(amount >= 250) {
amounts[sid].push(amount);
ids[sid].push(pid[cnt+4]);
} else {
if((amount / vpe) > 1) {
intID = sid == 0 ? '' : sid+1;
amounts[sid].push(Math.floor(amount/vpe));
ids[sid].push(pid[2-cnt]);
sub1 = amount - (Math.floor(amount/vpe)*vpe);
sub2 = cnt == 0 ? 10 : 5;
cnt++;
if(amount % vpe != 0) {
if(sub1 > 5 && sub1 < 11) {
amounts[sid].push(1);
ids[sid].push(pid[1]);
} else if( sub1 <= 5 ) {
amounts[sid].push(1);
ids[sid].push(pid);
} else {
brack(sub1,vpe - sub2,pid,sid);
}
}
} else if(amount == vpe) {
amounts[sid].push(1);
ids[sid].push(pid[cnt+2]);
sub1 = amount - vpe;
} else {
if(amount > 5 && amount < 11) {
amounts[sid].push(1);
ids[sid].push(pid[1]);
} else if( amount <= 5 ) {
amounts[sid].push(1);
ids[sid].push(pid);
} else {
brack(amount,vpe - sub2,pid,sid);
}
}
}
}
}
function createURI() {
var arr = new Array();
var idString = "";
var amountString="";
for(var i=0; i < ids.length; i++)
{
for( var h=0; h < ids[i].length; h++)
arr.push(ids[i][h]+"#"+amounts[i][h]);
}
arr = arr.sort();
var cnt = 0;
for(var i=0; i < arr.length; i++)
{
if(arr[i] != "#") {
var tpart = arr[i].split("#");
var tIds = tpart.split(",");
var tAms = tpart[1].split(",");
for(var j=0; j < tIds.length; j++) {
alert(tIds[j]+" - "+tAms[j]);
c = cnt == 0 ? '' : cnt;
idString += "&ID"+c+"="+tIds[j];
amountString += "&AM"+c+"="+tAms[j];
cnt++;
}
}
}
return "https://shop.xxx.com/cgi-bin/cart/ml=DE?"+idString.substring(1)+amountString;
}
function createPIDS() {
var pids_ = new Array();
for(var j=0;j<6;j++) {
pids_[j] = new Array(4);
for(var i=0;i<5;i++) {
pids_[j][i] = i+1+j*10+9000;
}
}
return pids_;
}
function calculateBundles() {
var productsAmounts = document.getElementsByName("Amount");
for(var i=0;i<productsAmounts.length;i++)
{
var locAmount = productsAmounts[i].value;
cnt = 0;
amounts[i] = new Array();
ids[i] = new Array();
pids = createPIDS();
brack(locAmount,20,pids[i],i);
}
document.LIZ.action = createURI();
//document.LIZ.submit();
}
</script>
</head>
<body>
<form method="post" name="LIZ" action="https://shop.xxx.com/cgi-bin/cart/ml=DE?">
<table id="table1">
<thead>
<tr class="odd">
<td class="column1"></td>
<th scope="col" abbr="Home">5er Lizenz Bundle</th>
<th scope="col" abbr="Home Plus">10er Lizenz Bundle</th>
<th scope="col" abbr="Business">20er Lizenz Bundle</th>
<th scope="col" abbr="Business">Ab 50 Lizenzen</th>
<th scope="col" abbr="Business">Ab 250 Lizenzen</th>
</tr>
</thead>
<tfoot>
</tfoot>
<tbody>
<tr><th scope="row" class="column1">Produkt</th><td id="td1"><span class="Stil1">100</span> / Bundle (ID 9001) </td>
<td id="td1"><span class="Stil1">200</span> / Bundle (ID 9002) </td>
<td id="td1"><span class="Stil1">300</span> / Bundle (ID 9003) </td>
<td id="td1"><span class="Stil1">400</span> / Bundle (ID 9004) </td>
<td id="td1"><span class="Stil1">500</span> / Bundle (ID 9005) </td>
</tr><tr><td colspan="5">Menge:<input id="Amount" name="Amount" type="text" value="0" size="5" maxlength="3" /></td></tr><tr>
<tr><th scope="row" class="column1">Produkt</th><td id="td1"><span class="Stil1">100</span> / Bundle (ID 9011) </td>
<td id="td1"><span class="Stil1">200</span> / Bundle (ID 9012) </td>
<td id="td1"><span class="Stil1">300</span> / Bundle (ID 9013) </td>
<td id="td1"><span class="Stil1">400</span> / Bundle (ID 9014) </td>
<td id="td1"><span class="Stil1">500</span> / Bundle (ID 9015) </td>
</tr><tr><td colspan="5">Menge:<input id="Amount" name="Amount" type="text" value="0" size="5" maxlength="3" /></td></tr><tr>
<tr><th scope="row" class="column1">Produkt</th><td id="td1"><span class="Stil1">100</span> / Bundle (ID 9021) </td>
<td id="td1"><span class="Stil1">200</span> / Bundle (ID 9022) </td>
<td id="td1"><span class="Stil1">300</span> / Bundle (ID 9023) </td>
<td id="td1"><span class="Stil1">400</span> / Bundle (ID 9024) </td>
<td id="td1"><span class="Stil1">500</span> / Bundle (ID 9025) </td>
</tr><tr><td colspan="5">Menge:<input id="Amount" name="Amount" type="text" value="0" size="5" maxlength="3" /></td></tr><tr>
<tr><th scope="row" class="column1">Produkt</th><td id="td1"><span class="Stil1">100</span> / Bundle (ID 9031) </td>
<td id="td1"><span class="Stil1">200</span> / Bundle (ID 9032) </td>
<td id="td1"><span class="Stil1">300</span> / Bundle (ID 9033) </td>
<td id="td1"><span class="Stil1">400</span> / Bundle (ID 9034) </td>
<td id="td1"><span class="Stil1">500</span> / Bundle (ID 9035) </td>
</tr><tr><td colspan="5">Menge:<input id="Amount" name="Amount" type="text" value="0" size="5" maxlength="3" /></td></tr><tr>
<tr><th scope="row" class="column1">Produkt</th><td id="td1"><span class="Stil1">100</span> / Bundle (ID 9041) </td>
<td id="td1"><span class="Stil1">200</span> / Bundle (ID 9042) </td>
<td id="td1"><span class="Stil1">300</span> / Bundle (ID 9043) </td>
<td id="td1"><span class="Stil1">400</span> / Bundle (ID 9044) </td>
<td id="td1"><span class="Stil1">500</span> / Bundle (ID 9045) </td>
</tr><tr><td colspan="5">Menge:<input id="Amount" name="Amount" type="text" value="0" size="5" maxlength="3" /></td></tr><tr>
<tr><th scope="row" class="column1">Produkt</th><td id="td1"><span class="Stil1">100</span> / Bundle (ID 9051) </td>
<td id="td1"><span class="Stil1">200</span> / Bundle (ID 9052) </td>
<td id="td1"><span class="Stil1">300</span> / Bundle (ID 9053) </td>
<td id="td1"><span class="Stil1">400</span> / Bundle (ID 9054) </td>
<td id="td1"><span class="Stil1">500</span> / Bundle (ID 9055) </td>
</tr><tr><td colspan="5">Menge:<input id="Amount" name="Amount" type="text" value="0" size="5" maxlength="3" /></td></tr><tr>
</tbody>
</table>
<br />
Anzahl der Lizenzen/Benutzer (Amount)
<br />
<input type="button" onClick="calculateBundles()" value="calculate">
</form>
</body>
</html>