Salve a tutti, ci ho sbattuto la testa per ore e alla fine mi sono arreso e vi chiedo cortesemente aiuto. Ho una pagina asp che preleva i dati da un db access. Volevo far si che si potessero modificare, grazie ad ajax, i dati "al volo", cioè senza passare per un form. Ho trovato uno script in rete, ma non riesco a recuperare le variabili e mi si cancellano i dati.
Ho la pagina prodotti_scheda.asp dove recupero l'ID del prodotto per visualizzarne i dati dove piazzo il JS per aprire un miniform cliccando sul valore che desidero cambiare, quindi

codice:
ID = request ("ID)
<script type="text/javascript" language="javascript">
    var http_request = false;

    function makeRequest(getvar) {

        http_request = false;
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                //http_request.overrideMimeType('text/xml');
                // See note below about this line
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
        http_request.onreadystatechange = function(){
		scrivi(getvar);
	}
        http_request.open('POST', 'update.asp?ID=<%=ID%>', true);
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	postvar="campo="+getvar+"&valore="+eval("document.forms.dinamicform."+getvar+".value");
        http_request.send(postvar);

    }

    function scrivi(getvar) {
	
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
		document.getElementById(getvar).innerHTML = "<a href=\"javascript:void(null);\" onclick=\"change(this,'"+getvar+"')\">"+eval("document.forms.dinamicform."+getvar+".value")+"</a>";
		document.getElementById("result").innerHTML = http_request.responseText;
            } else {
                alert('There was a problem with the request.');
		
            }
        }

    }
    function change(link,textname){
         //link.innerText e link.text sono stessa cosa, c'è differenza tra ie e firefox
	if(link.innerText){testovecchio=link.innerText}else{testovecchio=link.text}
	//riscrivo il contenuto del div
	document.getElementById(textname).innerHTML="<input type='text' name='"+textname+"' value='"+testovecchio+"'> <input type='button' value='ok' onclick=\"makeRequest(\'"+textname+"\')\">";
    }
</script>
dove passo le variabili a update.asp con l'ID della abella
poi creo il form
codice:
<form name="dinamicform">
Nome:
<div id="riferimento"><%=rs("riferimento")%></div>
</form>
e vado alla pagina update.asp dove dovrei aggiornare il database
codice:
<%
ID = request("ID")
'campo = request.form(campo)
riferimento = request.form("riferimento")
sql = "SELECT * FROM prodotti WHERE ID=" & ID
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, Conn, 3, 3

rs("riferimento") = riferimento
rs.update
rs.close
set rs = nothing
conn.close
set conn = nothing

operazione_ok=1
echo = "Tutto ben"
%>
ho provato a modificare il campo "riferimento" ma niente da fare
consigli?
grazie