Archief - Webshop

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Gleke

Legacy Member
Hoi

Ik moest rond december voor school een webshop maken , nu was ik dat nog eens aan het bekijken maar nu snap ik zelf niet goed meer wat sommige dingen doen of betekenen

Code;
Code:
<body background="fotos/background.jpg">
    <div id="Header"><center>
    First To The Finish!
    </center></div>
<script type="text/javascript">

function f(ProductNr)
		{
			if(ProductNr == 1)
			{
				var el = document.getElementById("content");
				el.innerHTML = 
" <form name='Spikes'><div><img id='Foto' src='fotos/ZomerSpikes1.jpg'><br><div id='Namen'>Addidas Arriba 3 M €185 <input type='number' name='Addidas' size='5'/><input type='button' value='Bestel' onclick='TabelT()'/></div></div><br>"+


"<div><img id='Foto' src='fotos/ZomerSpikes2.jpg'><br><div id='Namen'>Nike Zoom Victory €160 <input type='number' name='Nike' size='5'/><input type='button' value='Bestel' onclick='TabelT()'/></div></div><br> "+
				
"<div><img id='Foto' src='fotos/ZomerSpikes3.jpg'><div id='Namen'>New Balance MMD800 B2  €99 <input type='number' name='NB' size='5'/><input type='button' value='Bestel' onclick='TabelT()'/></div></div></form>";
			}
			
			if(ProductNr == 2)
			{
				var el = document.getElementById("content");
				el.innerHTML = 
" <form name='Schoenen'><div><img id='Foto' src='fotos/Wedstrijd1.jpg'><br><div id='Namen'>New Balance MAS650   €85 <input type='number' name='NBw' size='5'/><input type='button' value='Bestel' onclick='TabelT()' /></div></div><br>"+


"<div><img id='Foto' src='fotos/Wedstrijd2.jpg'><br><div id='Namen'>Nike Savana €110 <input type='number' name='Nikew' size='5'/><input type='button' value='Bestel'  onclick='TabelT()'/></div></div><br> "+
				
"<div><img id='Foto' src='fotos/Wedstrijd3.jpg'><div id='Namen'>Saucony Kinvara 3 Men's  €100 <input type='number' name='Sauconyw' size='5'/><input type='button' value='Bestel' onclick='TabelT()'/></div></div></form>";

			}
			
			
			if(ProductNr == 3)
			{
				var el = document.getElementById("content");
				el.innerHTML = 
" <form name='Horloges'><div><img id='Foto' src='fotos/Horloges1.jpg'><br><div id='Namen'>Nike+ Sportwatch €165 <input type='number' name='NikeH' size='5'/><input type='button' value='Bestel' onclick='TabelT()'/></div></div><br>"+


"<div><img id='Foto' src='fotos/Horloges2.jpg'><br><div id='Namen'>Polar RCX3 €298 <input type='number' name='PolarH' size='5'/><input type='button' value='Bestel' onclick='TabelT()' /></div></div><br> "+
				
"<div><img id='Foto' src='fotos/Horloges3.jpg'><div id='Namen'>Garmin ForARunner 410X  €310 <input type='number' name='GarminH' size='5'/><input type='button' value='Bestel' onclick='TabelT()' /></div></div></form>";
			}
		}
 

function TabelT()
{
	
	
[B]try {var Saddidas = document.Spikes.Addidas.value;}[/B]
				
				[B]catch (err){}[/B]
				
				if (Saddidas == undefined || Saddidas == "") 
				{
					SaddidasU = 0;
					tekst1 = "";
				}
				else
				{
					SaddidasU = Saddidas * 185;
					tekst1 = "<tr><td>Addidas Arriba 3 M</td><td>" + Saddidas + "</td><td>" + SaddidasU + "</td></tr>";
					
				}
				try {var Snike = document.Spikes.Nike.value;}
				catch (err){}
				if (Snike == undefined || Snike == "") 
				{
					SnikeU = 0;
					tekst2 = "";
				}
				else
				{
					SnikeU = Snike * 160;
					tekst2 = "<tr><td>Nike Zoom Victory </td><td>" + Snike + "</td><td>" + SnikeU + "</td></tr>";
				}
				try {var Snb = document.Spikes.NB.value;}
				catch (err){}
				if (Snb == undefined || Snb == "") 
				{
					SnbU = 0;
					tekst3 = "";
				}
				else
				{
					SnbU = Snb * 99;
					tekst3 = "<tr><td>New Balancec MMD800 B2</td><td>" + Snb + "</td><td>" + SnbU + "</td></tr>";
				}
				try {var Wnb = document.Schoenen.NBw.value;}
				catch (err){}
				if (Wnb == undefined || Wnb == "") 
				{
					WnbU = 0;
					tekst4 = "";
				}
				else
				{
					WnbU = Wnb * 85;
					tekst4 = "<tr><td>New Balance MAS650</td><td>" + Wnb + "</td><td>" + WnbU + "</td></tr>";
				}
				try {var Wnike = document.Schoenen.Nikew.value;}
				catch (err){}
				if (Wnike == undefined || Wnike == "") 
				{
					WnikeU = 0;
					tekst5 = "";
				}
				else
				{
					WnikeU = Wnike * 110;
					tekst5 = "<tr><td>Nike Savana</td><td>" + Wnike + "</td><td>" + WnikeU + "</td></tr>";
				}
				try {var Wsaucony = document.Schoenen.Sauconyw.value;}
				catch (err){}
				if (Wsaucony == undefined || Wsaucony == "") 
				{
					WsauconyU = 0;
					tekst6 = "";
				}
				else
				{
					WsauconyU = Wsaucony * 100;
					tekst6 = "<tr><td>Saucony Kinvara 3 Men's</td><td>" + Wsaucony + "</td><td>" + WsauconyU + "</td></tr>";
				}
				try {var Hnike = document.Horloges.NikeH.value;}
				catch (err){}
				if (Hnike == undefined || Hnike == "") 
				{
					HnikeU = 0;
					tekst7 = "";
				}
				else
				{
					HnikeU = Hnike * 165;
					tekst7 = "<tr><td>Nike+ Sportwatch </td><td>" + Hnike + "</td><td>" + HnikeU + "</td></tr>";
				}
				try {var Hpolar = document.Horloges.PolarH.value;}
				catch (err){}
				if (Hpolar == undefined || Hpolar == "") 
				{
					HpolarU = 0;
					tekst8 = "";
				}
				else
				{
					HpolarU = Hpolar * 298;
					tekst8 = "<tr><td>Polar RCX3 </td><td>" + Hpolar + "</td><td>" + HpolarU + "</td></tr>";
				}
				try {var Hgarmin = document.Horloges.GarminH.value;}
				catch (err){}
				if (Hgarmin == undefined || Hgarmin == "") 
				{
					HgarminU = 0;
					tekst9 = "";
				}
				else
				{
					HgarminU = Hgarmin * 310;
					tekst9 = "<tr><td>Garmin ForARunner 410X </td><td>" + Hgarmin + "</td><td>" + HgarminU + "</td></tr>";
				}
				
				EindTabel = tekst1 + tekst2 + tekst3 + tekst4 + tekst5 + tekst6 + tekst7 + tekst8 + tekst9;
				EindTotaal = SnikeU + SaddidasU + SnbU + WnikeU + WnbU + WsauconyU + HnikeU + HpolarU + HgarminU;
				
				var UitkomstTabel = document.getElementById("tabel");
				UitkomstTabel.innerHTML = "<table border='1'><tr><td>artikel</td><td>hoeveelheid</td><td>totaalprijs</td></tr>" + EindTabel + "<tr></tr><tr><td></td><td>EindTotaal</td><td>" + EindTotaal + " Euro </td></table>";

}


</script>
<div id="Keuze">
	<a id="Keuzeklik" href="#" onclick="f(1)">Zomer spikes</a> <br><br><br>
    <a id="Keuzeklik" href="#" onclick="f(2)">Wedstrijdschoen</a><br><br><br>
    <a id="Keuzeklik"[B] href="#" [/B]onclick="f(3)">Loop Horloges</a></div>
		<div id="content"></div>
    <div id="tabel"><p>Winkelmandje</p></div>
	</body>

Die try die vergelijkt gewoon die 2 waardes en als ze kloppen gaat die ofwel in de if of in de else ? en als die niet gelijk is slaagt die dat gewoon over ?

Dan die catch (err) {} snap ik ook niet meer.

en als er bij href="#" dat is een link maar weet niet goed wat dat # weer doet.

ook werkt deze code alleen in Firefox , IE wilt die inner HTML niet doen en Chrome slaagt die waardes niet op dus als ik op zomer spikes druk 1x addidas bestel druk komt er op mijn winkelmandje 1x addidas als ik dan op wedstrijdschoenen druk en 1x nike bestel gaat die addias schoen weg en komt er de nike in de plaats ? bij Firefox werkt dit wel


Alvast bedankt

bealzebub

Legacy Member
Ik ga niet door die code lezen, want k wil nog kunnen slapen in de volgende maanden.

Zoek "try catch javascript" via Google en dan zal je zien dat die code van de webshop echt afschuwelijk is.

Kortweg gezegd vang je foutmeldingen op. T is een beetje zoals zeggen: "als ik met m'n auto op een blok beton rij en m'n kop vliegt door de voorruit (try drive on concrete and head goes through windshield) dan doe ik best m'n gordel de volgende keer aan (catch put on seatbelt)". Error catching is niet bedoeld om zo'n toeren mee uit te halen.

Zoek "internet explorer innerhtml not working" op Google

Die innerHTML die nie werkt op IE kan aan een aantal zaken liggen. Aan jou om uit te zoeken welke hier van toepassing is.

Voor al je crossbrowser issues ga je moeten leren de developer console van die browsers gebruiken, ze hebben er tegenwoordig allemaal een ingebouwde. Het probleem is dat je die error catching doet en ik weet dat het indertijd in veel developer consoles voor problemen zorgde als er in je catch gedeelte errors voorkomen.

Voor je hash google je "href hash mark". Meer dan genoeg uitleg.

In alle eerlijkheid zou je beter gewoon die code niet proberen te ontleden, want van t begin tot het einde is een voorbeeld van hoe het juist niet moet.

bealzebub

Legacy Member
En om nog maar eens een analogie te gebruiken voor wat "try&#8230; catch&#8230;" in javascript (en elke andere programmeertaal trouwens) wel bedoeld is:

"Probeer de volledige organisatie van Festival Javascriptrock goed te doen (try organise festival) maar als er zich een onvoorziene ramp voordoet &#8212; hoewel die kans vrijwel onbestaande is &#8212; moet het rampenplan en evacuatie in werking treden (catch disaster control and evacuation)".

profound

Legacy Member
Uw laatste analogie is alvast beter dan uw eerste imo.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan