- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- errore Microsoft VBScript runtime error '800a000d' Type mismatch
-
errore Microsoft VBScript runtime error '800a000d' Type mismatch
ciao raga,
sono nuovo di questo forum e ho visto che siete molto affiatati,
proprio quello che cercavo....
visto che ho un problema con asp
ho pubblicato un sito da un server di aruba dove funzionava ad uno mio con windows 2003 ed ecco il casotto mi da un errore quando inserisco la quantita' da ordinare sui prodotti vi posto la linea di codice in questione.
grazie in anticipo.'If session("AddArt")=0 then
'session("AddArt")=1
session("cartIndex")=session("cartIndex")+1
Session("ArtIndex")=Session("ArtIndex")+1
Id=session("cartIndex")
arrcart=session("myCart")Quantita=Request.Form("quantita")
Codice=Request.Form("codice")
Prodotto=Request.Form("descrizione")
Base=Request.Form("basep")
Check="O"
Colore=Request.Form("colore")
If Colore="" then
Colore="da concordare"
End If
session("items")=session("items")+Quantita
Data=Date()
Ora=Time()
Store=session("idStore")&"/"&session("idCustomer")&"/"&session("idAffiliate")arrcart(Id,1)= Quantita linea di errore
arrcart(Id,2)= Codice
arrcart(Id,3)= Prodotto
arrcart(Id,4)= Base
arrcart(Id,5)= Check
arrcart(Id,6)= Colore
arrcart(Id,7)= Data
arrcart(Id,8)= Ora
arrcart(Id,9)= Storesession("myCart")=arrcart
%>
<script language="JavaScript" type="text/JavaScript">
location.href="?go=prodotti&action=visualizza&gruppo=<%=Gruppo%>&descrizione=<%=Descrizione%>&articolo=<%=Codice%>#<%=Codice%>"
</script>
<%
'End If
End If
%>
-
ciao martucie e benvenuto sul forum GT
l'errore Tye Mismacth indica una non corriposndenza tra tipi dati.
da quello che mi pare di capire prendi la varabile quantita da un form, quindi come stringa..poi la passi a un array (mi pare di capire) che probabilmente invece si aspetta un intero (o comunque un dato numerico)
prova a usare una funzione di conversione esplicita, anzichè lasciare che faccia una conversione implicita...
prova con:
arrcart(Id,1)= cInt(Quantita) --->converte in Integer
o
arrcart(Id,1)= cDbl(Quantita)-->converte in Double
-
grazie per il consiglio ma niente da fare scusa ma ti volevo far vedere anche il dodice che mi identifica il campo quantità forse e questo da rivedere?
<%
Action=Request.QueryString("action")
Gruppo=Request.QueryString("gruppo")
Descrizione=UCASE(Request.QueryString("descrizione"))
Articolo=Request.QueryString("articolo")DA=Replace(Request.ServerVariables("HTTP_REFERER"),"c'e' il link","")
DA=Replace(DA,Request.ServerVariables("SERVER_NAME"),"")
DA=Replace(DA,Request.ServerVariables("URL"),"")
DA=Replace(DA,"?","")
Session("Pagina")=DA
%>
<!--webbot BOT="GeneratedScript" PREVIEW=" " startspan -->
<script Language="JavaScript">
<!--
function Ordina_Form_Validator(theForm)
{if (theForm.quantita.value == "")
{
alert("Inserire un valore per il campo "Quantità".");
theForm.quantita.focus();
return (false);
}var checkOK = "0123456789";
var checkStr = theForm.quantita.value;
var allValid = true;
var decPoints = 0;
var allNum = "";
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
allNum += ch;
}
if (!allValid)
{
alert("Inserire solo cifra numerica nel campo "Quantità".");
theForm.quantita.focus();
return (false);
}var chkVal = allNum;
var prsVal = parseInt(allNum);
if (chkVal != "" && !(prsVal >= "1" && prsVal <= "999"))
{
alert("Inserire un valore maggiore o uguale a "1" e minore o uguale a "999" nel campo "Quantità".");
theForm.quantita.focus();
return (false);
}return (true);
}
//-->
</script>
<!--webbot BOT="GeneratedScript" endspan -->e poi volevo farti vedere dove avviene la querystring
<%
'Codice=Request.QueryString("gruppo")
If Request.QueryString("Pagina") = "" Then
PaginaCorrente = 1
Else
PaginaCorrente = cInt(Request.QueryString("Pagina"))
End If
RecordPagina=10Set connA = Server.CreateObject("ADODB.Connection")
connA.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/WEB.mdb")
If Gruppo="novita" then
sqlA = "SELECT DISTINCT Articolo,Descrizione FROM News_Web ORDER By Articolo ASC"
Else
sqlA = "SELECT DISTINCT Articolo,Descrizione FROM Export_Web WHERE Mid(Articolo,1,2)='"&Gruppo&"' ORDER By Articolo ASC"
End If
Set rsUsA = Server.CreateObject("ADODB.Recordset")
rsUsA.Open sqlA, connA, 1, 1If NOt rsUsA.EOf then
rsUsA.PageSize = RecordPagina
Pagine = rsUsA.PageCount
rsUsA.CacheSize = RecordPagina
TotArticoli = rsUsA.RecordCount
rsUsA.AbsolutePage = PaginaCorrente
Else
TotArticoli=0
Pagine = 0
RecordTotali = 0
End If
If PaginaCorrente > Pagine Then
PaginaCorrente = Pagine
End If
If PaginaCorrente < 1 Then
PaginaCorrente = 1
End If
RecordShow = 0If NOt rsUsA.EOf then
%>
-
Ciao, dovresti farci vedere cos'è arrcart, ovvero quello che c'è dentro session("myCart")