JavaScript - Hjælp!!
Vi er to begyndere, som har et lille bitte problem i forbindelse med en skoleopg.Her er scriptet:
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html>
<head>
<title>Prototype</title>
<SCRIPT LANGUAGE=\"JavaScript\">
//Konstruktion af bogsamling
function Bog(index, titel, forfatter, pris, billedref){
this.index = index
this.titel = titel
this.forfatter = forfatter
this.pris = pris
this.billedref = billedref
//metoder
this.varebeholdning = varebeholdning;
}
function varebeholdning() {
document.writeln(\"<p>Index : \" +this.index+ \"<br>\");
document.writeln(\"Titel : \" +this.titel+ \"<br>\");
document.writeln(\"Forfatter : \" +this.forfatter+ \"<br>\");
document.writeln(\"Pris : \" +this.pris+ \" Kr.<br>\");
document.writeln(\"<img src=\'\" +this.billedref+ \"\'<br>\");
}
//Konstruktion af indkøbskurv
function IndkoebsKurv(Indhold,saldo){
this.Indhold = new Array();
this.saldo = saldo;
//metoder
this.visIndhold = visIndhold;
this.tilfoej = tilfoej;
this.slet = slet;
}
function tilfoej(Bog){
this.Indhold[this.Indhold.length] = Bog;
}
function slet(Bog){
var i=0;
while(Bog!=this.Indhold[i]){i++;}
this.Indhold[i]=\"\";
}
function visIndhold(){
document.write(\"<p><b>Indkøbskurven indeholder følgende:</b>\");
var subSaldo=0;
var moms=0;
for(var i=0; i<=(this.Indhold.length-1);i++){
if(this.Indhold[i]!=\"\"){
document.write(\"<p>\"+this.Indhold[i].titel+\", \"+this.Indhold[i].pris+\" kr.\");
subSaldo += parseInt(this.Indhold[i].pris) ;
document.write(\"<hr>Du har købt for: \"+subSaldo+\" Kr.<BR>\");
}
}
moms=Math.round(subSaldo*0.25);
document.write(\"Heraf moms (25%): \"+moms+\" kr.\");
document.write(\"<HR>\");
}
//brugsscenarie 1.3***************************************************************
//Skabelse af bøger og bogsamling
Bog0 = new Bog(1,\"JavaScript Application Cookbook\",\"Jerry Bradenbaugh\",360,\"bog1.jpg\");
Bog1 = new Bog(2,\"Internet and WWW How to program\",\"Deitel & Deitel\",450,\"bog2.jpg\");
Bog2 = new Bog(3,\"DHTML For the World Wide Web\",\"Jason C. Teague\",250,\"bog3.jpg\");
Bog3 = new Bog(4,\"Building Web Applications with UML\",\"Jim Conallen\",300,\"bog4.jpg\");
bogSamling=[Bog0,Bog1,Bog2,Bog3];
//skabelse af indkøbskurv
Kurv=new IndkoebsKurv();
//Test af metoder
//Her bliver udvalget vist
Bog0.varebeholdning();
Bog1.varebeholdning();
Bog2.varebeholdning();
Bog3.varebeholdning();
//Her tilføljes bog nr. 1 til varekurven
Kurv.tilfoej(bogSamling[0]);
//Her vises indholdet af varekurven
Kurv.visIndhold();
//Her bliver udvalget vist igen
Bog0.varebeholdning();
Bog1.varebeholdning();
Bog2.varebeholdning();
Bog3.varebeholdning();
//Her tilføjes bog nr. 2 til varekurven
Kurv.tilfoej(bogSamling[1]);
//Her vises indholdet af varekurven
Kurv.visIndhold();
//Her slettes bog nr. 2 fra varekurven
Kurv.slet(bogSamling[1]);
//Her vises indholdet af varekurven
Kurv.visIndhold();
//Her skal bestillingsformularen vises
//bestillingsformular();
</SCRIPT>
</head>
<body>
</body>
</html>
Problemet er, når indkøbskurven indeholder to bøger. Der vises den samlede pris efter hver bog, hvor den helst kun skulle vises efter 2. bog, da vi ikke har noget at bruge mellemregningen til.
Jeg skal have flyttet min Subtotal, men hvorhen? Jeg har prøvet mig lidt frem, men så melder den fejl...
