Ciao a tutti,
devo modificare questo esempio di carrello della spesa integrandolo in una struttura in ASP.
La pagina server-side nativa e' in php, ho modificato sostituendo la mia nuova pagina in asp, dove in pratica estrae i dati del prodotto, ma non riesco a capire come richiamare il productID da passare appunto alla select per l'estrazione dei dati corretti.
nella pagina con l'elenco dei prodotti ho inserito il link che aggiunge appunto il prodotto nel carrello in questo modo:
<a href="#" onclick="addToBasket(<%=c%> );return false;"> mio prodotto</a>
dove <%=c%> è l'idProdotto recuperato dinamicamente dal database.
La pagina addProduct.asp (nella versione originale è addProduct.php) l'ho modificata così:
<%
if request("productId") <> "" then
Set objRS = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT * FROM " &strDbTable& "prodotti WHERE p_status=1 AND idProdotto = '"&request("productId")&"' ORDER BY p_nome;"
objRS.Open strSQL, DFCon, 1, 1
If Not objRS.EOF Then
While Not objRS.EOF
codProdotto = objRS("p_codice")
descProdotto = objRS("p_desc")
prezzoProdotto = objRS("p_prezzo")
objRS.MoveNext
Wend
End if
response.write codProdotto&"|||"&descProdotto&"|||"&prezzoProdotto
end if
%>
Ho provato a stampare a video request ma risulta vuota.
Mentre il cuore dello script flytobasket.js è questo, riporto solo la parte di codice che richiama la funzione ajax addToBasket
function addToBasket(productId)
{
if(!shopping_cart_div)shopping_cart_div = document.getElementById('shopping_cart');
if(!flyingDiv){
flyingDiv = document.createElement('DIV');
flyingDiv.style.position = 'absolute';
document.body.appendChild(flyingDiv);
}
shopping_cart_x = shoppingCart_getLeftPos(shopping_cart_div);
shopping_cart_y = shoppingCart_getTopPos(shopping_cart_div);
currentProductDiv = document.getElementById('slidingProduct' + productId);
currentXPos = shoppingCart_getLeftPos(currentProductDiv);
currentYPos = shoppingCart_getTopPos(currentProductDiv);
diffX = shopping_cart_x - currentXPos;
diffY = shopping_cart_y - currentYPos;
var shoppingContentCopy = currentProductDiv.cloneNode(true);
shoppingContentCopy.id='';
flyingDiv.innerHTML = '';
flyingDiv.style.left = currentXPos + 'px';
flyingDiv.style.top = currentYPos + 'px';
flyingDiv.appendChild(shoppingContentCopy);
flyingDiv.style.display='block';
flyingDiv.style.width = currentProductDiv.offsetWidth + 'px';
flyToBasket(productId);
}
function flyToBasket(productId)
{
var maxDiff = Math.max(Math.abs(diffX),Math.abs(diffY));
var moveX = (diffX / maxDiff) * flyingSpeed;;
var moveY = (diffY / maxDiff) * flyingSpeed;
currentXPos = currentXPos + moveX;
currentYPos = currentYPos + moveY;
flyingDiv.style.left = Math.round(currentXPos) + 'px';
flyingDiv.style.top = Math.round(currentYPos) + 'px';
if(moveX>0 && currentXPos > shopping_cart_x){
flyingDiv.style.display='none';
}
if(moveX<0 && currentXPos < shopping_cart_x){
flyingDiv.style.display='none';
}
if(flyingDiv.style.display=='block')setTimeout('flyToBasket("' + productId + '")',10); else ajaxAddProduct(productId);
}
Sto impazzendo per capire come mai non c'è verso di recuperare il valore...vi ringrazio per l'aiuto.
Elisa