Toon posts:

[ASP] Bestellijst loop met niet werkende knoppen

Pagina: 1
Acties:
  • 57 views sinds 30-01-2008

Verwijderd

Topicstarter
Heeey,

Even kort een situatieschets van waar ik mee zit:

Momenteel ben ik druk bezig met het bouwen van een online bestelsysteem. Hiervoor gebruik ik een file genaamd 'categorien.asp' die ik heb aangemaakt waarin een combobox staat met de verschillende product categorieën en er verschijnt na selectie een lijst met producten.
Achter elk product kan de gebruiker een aantal invullen en achter elk product staat ook een 'bestel' knop. D.m.v. de bestelknoppen komt alles waar een ander getal dan 0 is ingevoerd, in je winkelwagen. Dus het is eigenlijk hetzelfde als bovenaan de lijst 1 bestelknop maken die de hele lijst stuurt naar de winkelwagen (dit is echter niet wat ik wil).

Het probleem is nu dat de VB loop niet goed werkt. Als ik bijvoorbeeld in 'n categorie maar twee producten heb zitten, dan werkt de 2e bestelknop niet. Ook op andere momenten geeft de foutmelding aan (als ik op de 4e knop bijvoorbeeld druk) dat ik op de 6e heb gedrukt. Dit is voor mij erg vaag.

de betreffende foutmelding:

http://www.pumpkinhf.nl/foutmelding.jpg


De code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<form name="bestellen" method="post" action="temp.asp?action=ins">
<table width="100%" border="0"  cellspacing="0" cellpadding="3">
<tr>
<td width="74">&nbsp;</td>
<th width="74">Prijs</td>
<th width="100%"><div align="left">Omschrijving</div></td>
<th width="74"><div align="center">Aantal</div></td>
<td width="74">&nbsp;</td>
</tr>
<% Call recordset.MoveFirst ()
While Not recordset.EOF %>
<tr>
<td>
<% foto = recordset("foto") %>
[img]"<%[/img]"></td>
<td><b>&nbsp;&euro;&nbsp;<%= formatnumber(recordset("Prijs"),2) %></b></td>
<td onclick="window.open('popup.asp?Naam=<%=recordset ("Naam")%>','Omschrijving','width=480,height=265');" OnMouseOver="this.style.cursor='hand'"><b>


ASP.NET Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<% Naamvol = Recordset ("Naam")
If len(Naamvol) > 25 then
n = true
Naamkort = left(Naamvol,25)
Else 
n = false
Naamkort = Recordset("Naam")
End if %>
    
<% Omschrijvingvol = Recordset ("Omschrijving")
If len(Omschrijvingvol) > 32 then
o = true
Omschrijvingkort = left(Omschrijvingvol,32)
Else
o = false 
Omschrijvingkort = Recordset("Omschrijving")
End if %>
    
<% Response.write(Naamkort) %><% if n = true then %>...
<% else
end if %></b></a><br>
<% Response.write(Omschrijvingkort) %><% if o = true then %>...
<% else
end if %>


code:
1
2
3
4
5
6
7
8
9
10
<input type="hidden" name="<% response.Write("Naam" & iteller) %>" value="<%=recordset ("Naam") %>">
<input type="hidden" name="<% response.Write("omschrijving" & iteller) %>" value="<%=recordset ("Omschrijving") %>">
<input type="hidden" name="<% response.Write("artikelcode" & iteller) %>" value="<%=recordset ("Artikelcode") %>">
<input type="hidden" name="<% response.Write("Prijs" & iteller) %>" value="<%=recordset ("Prijs") %>">
<br><hr size="1"></td> 
<td>
<div align="center">
<input class="form" tabindex="<% response.write( 1 + iteller) %>" name="<% response.write("aantal" & iteller) %>" type="textbox" maxlength="3" size="1" value="0"></div></td>
<td><input class="form" id="button" tabindex="<% response.write( 2 + iteller) %>" type="button" name="btnBestellen<% response.write(iteller) %>" value="Bestel" OnMouseOver="this.style.cursor='hand'"></td>
</tr>


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<script language="VBScript">
<!--
Sub btnBestellen<% response.write(iteller) %>_OnClick()
dim i
dim ok
dim foutnummer

ok = true

for i=0 to (<% response.Write(iteller) %>+<% response.Write(iteller) %>)
if not IsNumeric(Eval("document.bestellen.aantal"&i&".value")) then
if not ((Eval("document.bestellen.aantal"&i&".value"))="") then
ok = false
foutnummer = i
end if
End If
next

if not ok then
MsgBox "Foutieve invoer bij artikel " & (foutnummer + 1),vbExclamation
eval("document.all.aantal"&foutnummer&".focus")
else
document.bestellen.submit
end if 
end sub
-->
</script>


ASP.NET Visual Basic:
1
2
3
<% iteller = iteller + 1
Call recordset.MoveNext()
Wend %>


code:
1
2
3
4
5
6
7
8
<tr>
<td colspan="6">&nbsp;</td>
</tr>
</table>    
<input type="hidden" name="teller" value="<% response.write(iteller) %>">
<input type="hidden" name="reqcategorie" value="<%=request ("categorie")%>">        
<br>
</form>



Er zit iig iets duidelijk fout in de 'bestellen.aantal x' loop.

Hopelijk is dit duidelijk genoeg om er iets mee te kunnen!

Alvast bedankt

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Hoi stinoww, en welkom op GoT. :)

Wat is het nou precies dat je wil dat wij gaan doen? Je code helemaal doornemen en debuggen op fouten? Debuggen is iets wat je zelf mag doen. :) Dat gaat trouwens veel makkelijker als je je code netjes op de goede plaatsen inspringt. ;)

Verder heb je een probleem met de browser die blijkbaar valt over een stukje VBScript. Dat heeft niets met ASP te maken, maar met het clientside gedeelte van je script, en clientside zaken horen in Webdesign & Graphics. Als je wil kun je daar een nieuw topic openen, maar geef daar alleen relevante code, en laat daar de ASP-code achterwege, ze hebben daar meer aan de gegenereerde HTML. :)

Lees overigens ook even P&W FAQ - De "quickstart" door, waarin staat wat we in Programming & Webscripting van een topicstart verwachten. Je voldoet hier niet helemaal aan. W&G heeft ook een FAQ, lees die ook even door alvorens je daar een topic opent. :)

[ Voor 4% gewijzigd door NMe op 29-05-2005 14:39 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.