Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/01/2010, 15:09
White_Knight
 
Fecha de Ingreso: agosto-2009
Mensajes: 20
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: ¿Como insertar datos en ASP clasico y AJAX

muchas gracias, pero mira, por ejemplo

yo tengo este codigo HTML Y AJAX

DIS_PRECIO.asp

Te explico... tengo dos campos, PRECIO y FECHA... y un Link AGREGAR (despues lo cambio por un boton) el cual manda llamar a la funcion Agregar()

Y el problema vienen en el AJAX, no tanto como insertar sino COMO INSERTAR Y DESPUES DESPLEGAR MIS DATOS EN LA TABLA CON AJAX =)

Cita:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<script language="javascript" type="text/javascript">
var xmlhttp

function AGREGAR()
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Your browser does not support AJAX!");
return;
}

var url="SIS_AGREGAR_PRECIO.asp";
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("POST",url,true);
xmlhttp.send(null);
}
function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("txtHint").innerHTML=xmlht tp.responseText;
}
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
</script>
</head>

<body>
<p>&nbsp;</p>
<table width="100%" border="0">
<form action="SIS_AGREGAR_PRECIO.asp" name="f_precio" method="post">
<tr>
<td width="14%" class="etiquetas">Precio:</td>
<td width="86%"><label>
<input name="PRECIO" type="text" class="FONDO_CAJAS" id="PRECIO" />
</label></td>
</tr>

<tr>
<td class="etiquetas">Fecha:</td>
<td><label>
<input name="FECHA" type="text" class="FONDO_CAJAS" id="FECHA" />
</label></td>
</tr>
</tr>
</form>
<tr>
<td>&nbsp;</td>
<td class="style4"><a href="javascript: AGREGAR()">Agregar</a></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>

<table id="txtHint" width="50%" border="0">
<tr>
<td width="28%" class="etiquetas">Precio</td>
<td width="72%" class="etiquetas">Fecha</td>
</tr>
<%
SET RS = Server.CreateObject("ADODB.RECORDSET")
SQL = "SELECT * FROM PRECIO"
RS.open SQL, CONN, 3,2

WHILE NOT RS.EOF


Select Case color mod 2
Case 0:
%>
<tr style="cursor:pointer" bgcolor="#F6F6F6" onMouseOver="this.bgColor='#66CC33'" onMouseOut="this.bgColor='#F6F6F6'" title="Click editar noticia">
<%
Case 1:
%>
</tr>
<tr style="cursor:pointer" bgcolor="#E9E9E9" onMouseOver="this.bgColor='#66CC33'" onMouseOut="this.bgColor='#E9E9E9'" title="Click para editar noticia">
<%
End select
color = color + 1
%>
<td><%=RS("P_PRECIO")%></td>
<td><%=RS("P_FECHA")%></td>
</tr>
<%
RS.MOVENEXT
WEND

%>
</table>
<p>&nbsp;</p>
</body>
</html>
y por aca tengo un SIS_AGREGAR_PRECIO.asp
es donde hago mi insercion

Cita:
<!-- #include file = "../SIS_CON.asp"-->

<%
PRECIO = REQUEST.Form("PRECIO")
FECHA = REQUEST.Form("FECHA")

const adOpenForwardOnly = 0
const adOpenKetset = 1
const adOpenDynamic = 2
const adOpenStatic = 3
const adLockReadOnly = 1
const adLockPessimistic = 2
const adLockOptimistic = 3
const adLockBatchOptimistic = 4

SET RS_ALTA = Server.CreateObject("ADODB.RECORDSET")
RS_ALTA.Cursortype = adOpenKeyset
RS_ALTA.Locktype = adLockOptimistic

RS_ALTA.open "PRECIO", CONN

RS_ALTA.addnew
RS_ALTA("P_PRECIO") = PRECIO
RS_ALTA("P_FECHA") = FECHA
RS_ALTA.update
RS_ALTA.close
%>
Se supone que en esto yo ya tengo mi insercion a la base de datos... y me marca error de Javascript en la funcion:

function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("txtHint").innerHTML=xmlht tp.responseText;
}
}


Que estaré haciendo mal??

SALUDOS... O forzosamente tengo que poner un <div id="txthint"></div>

Disculpa soy nuevo en AJAX, mas no en ASP y Javascript hehe

SALUDO

Última edición por White_Knight; 11/01/2010 a las 15:18