Jeg har 2 selectbokse hvor imellem man kan vælge retter fra menukortet og sætte dem på sin bestillingsliste.
Når man så trykker "videre" er det meningen, at den skal vælge det man har overført til bestillingslisten og medtage i en request.form.
Problemet er, at den ikke tror der er noget i bestillingslisten, selvom der er det.
<style>
select {
width:200px;
}
</style>
<%
strSQL = "SELECT * FROM varer"
Set RS = Conn.Execute(strSQL)
If RS.EOF Then
Response.Write ""
Else
strRetter = "<script type=""text/javascript"">" & vbCrLf
strRetter = strRetter & "retter = ["
Do Until RS.EOF
intId = RS("id")
strNavn = RS("navn")
strPris = RS("pris")
strBeskrivelse = RS("beskrivelse")
strBillede = RS("billede")
strRetter = strRetter & "[""" & strNavn & """,""" & strPris & """,""" & strBeskrivelse & """,""" & strBillede & """]," & vbCrLf
RS.MoveNext
Loop
strRetter = strRetter & "];" & vbCrLf
strRetter = strRetter & "</script>" & vbCrLf
End If
Response.Write strRetter
%>
<script type="text/javascript">
function init() {
selMENU = document.getElementById("MENU");
for(j=0; j<retter.length; j++) {
opt = document.createElement("OPTION");
opt.innerHTML = opt.value = retter[j][0];
selMENU.appendChild(opt);
}
}
function insertItems() {
selMENU = document.getElementById("MENU");
if(selMENU.selectedIndex<0)
return;
selBESTILLING = document.getElementById("BESTILLING");
for(j=0; j<selMENU.options.length; j++) {
if(selMENU.options[j].selected) {
opt = document.createElement("OPTION");
opt.innerHTML = opt.value = selMENU.options[j].value;
selBESTILLING.appendChild(opt);
}
}
selMENU.selectedIndex=-1;
}
function removeItems() {
selBESTILLING = document.getElementById("BESTILLING");
while(selBESTILLING.selectedIndex>=0)
selBESTILLING.removeChild(selBESTILLING.options[selBESTILLING.selectedIndex]);
}
function showPrice() {
index = document.getElementById("MENU").selectedIndex;
divPRIS = document.getElementById("PRIS");
divPRIS.innerHTML = "<br><b>"+retter[index][0]+"</b><br><b>Pris:</b> "+retter[index][1]+" kr.<br><b>Beskrivelse:</b> "+retter[index][2]+"<br><img src="+retter[index][3]+">";
}
function SelectAll(fromObject) {
for (var i=0, l=fromObject.options.length;i<l;i++) {
fromObject.options.text,fromObject.options.selected = true;
}
}
</script>
<center>
<form action="bestil.asp?side=1" method="post">
<table border="0" width="540" cellspacing="0" cellpadding="0">
<tr>
<td>
<body onload="init()">
<u>Menukort</u>:<br>
<select size=8 id="menu" multiple onchange="showPrice()" class="input"></select></select>
</td>
<td width="70">
<center>
<button onclick="insertItems()" class="button">Tilføj »</button>
<br><br>
<button onclick="removeItems()" class="button">« Fjern</button>
</center>
</td>
<td>
<p align="right"><u>Din bestilling</u>:<br>
<select size=8 id="bestilling" name="bestilling" multiple class="input"></select></p>
</td>
</tr>
</table>
<br>
<input type="submit" value="Videre" onClick="SelectAll(this.form.bestilling);submit()" class="input">
</form>
</center>
<div id="PRIS"></div>
<%
End if
If side = "1" Then
strBestilling = Request.Form("bestilling")
If strBestilling = "" Then
Response.Write "<font color=red>Du skal vælge nogle varer fra menukortet.</font>"
Else