Foros del Web » Programando para Internet » ASP Clásico »

Mensaje de confirmación en Response

Estas en el tema de Mensaje de confirmación en Response en el foro de ASP Clásico en Foros del Web. Ojalá me pudieran ayudar con mi inquietud. Tengo una página en asp que lista los registros de una tabla de la base datos, pero deseo ...
  #1 (permalink)  
Antiguo 24/06/2004, 22:03
Avatar de com7473  
Fecha de Ingreso: junio-2004
Mensajes: 22
Antigüedad: 20 años
Puntos: 0
Pregunta Mensaje de confirmación en Response

Ojalá me pudieran ayudar con mi inquietud.

Tengo una página en asp que lista los registros de una tabla de la base datos, pero deseo agregarle más funcionalidad a esta página y le agregué un link para que me pudiera eliminar el registro seleccionado, esa parte la he logrado, pero no funciona la parte de confirmación de envío del link. Este link está ubicado dentro de un Response.Write de asp.

¿Como puedo hacerlo funcionar?, o hay otra forma.
También intente con un botón de opción pero no logro que me recupere el valor y llevarlo a la página que lo elimina.

Gracias por atender mi inquietud. Aquí está el código de lo que tengo.

Lugares.asp

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Lugares</title>

</head>
<body>
<DIV align="center"><font face="Arial" size="4"><b>Lugares</b></font></DIV>
<br><br>
<TABLE align="center">
<TR>
<TD width="50" bgcolor="#000000"><center><font face="Arial" color="#FFFFFF"><b>Id. Lugar</b></font>
</center></TD>
<TD width="150" bgcolor="#000000"><center><font face="Arial" color="#FFFFFF"><b>Lugar</b></font>
</center></TD>
<TD width="100" bgcolor="#000000"><center><font face="Arial" color="#FFFFFF"><b>Eliminar</b></font>
</center></TD>
</TR>
<%
'Abre la conexión con la base de datos a través de una conexión ODBC
Set Conexion = Server.CreateObject("ADODB.Connection")
Conexion.Open "dsnAuxiliar"

'Ejecuta un sentencia SQL de consulta
sql = "SELECT * FROM Sitios ORDER BY Lugar"
Set tabla = conexion.Execute(sql)

'Recorre todas las filas del resultado
Do While Not tabla.EOF

if colorfila = 0 then
    color= "#DEDEBE"
    colorfila=1
else
    color="#F0F0F0"
    colorfila=0
end if

'Imprimimos el registro
response.write "<tr><td width='50' bgcolor='"&color&"'><center><font face='Arial' size='2'><b>"&tabla("IdLugar")&"</b></font></center></td><td width='150' bgcolor='"&color&"'><font face='Arial' size='2'>"&tabla("Lugar")&"</font></td><td width='100' bgcolor='"&color&"'><a href='EliminarLugar.asp?identificador="&tabla("IdLugar")&"' onClick='return window.confirm('Realmente desea eliminar el registro")'>Eliminar este Registro</a></td></tr>"

'Pasa a la siguiente fila
tabla.MoveNext
Loop

'Cerramos las conexiones y el recordset
tabla.Close
Set result = Nothing
conexion.Close
Set conexion = Nothing
%>
</TABLE>
</div>
</body>
</html>
  #2 (permalink)  
Antiguo 24/06/2004, 22:16
Avatar de LeCLUB  
Fecha de Ingreso: abril-2003
Ubicación: Barcelona (España)
Mensajes: 205
Antigüedad: 21 años, 1 mes
Puntos: 1
Lo que estas ejecutando es código javascript, y no ASP al ejecutar:

onClick='return window.confirm('Realmente desea eliminar el registro")

lo deberías de hacer es que ese link redireccione a otra página (o la misma, todo depende que como lo quieras hacer), y el ASP "detecte" la acción que quieres hacer (ya sea mediante campos ocultos en el formulario, valor de control a través de POST o GET del formulario, etc) y elimine ese registro, para denuevo recargar la página (o redirigirla a otra, según quieras)

Una cosa es ASP, que se ejecuta en el lado del servidor (antes de que se envíe la página al navegador), y otra muy distinta Javascript, que se ejecuta en el navegador (una vez ya se ha enviado toda la página al navegador, y ya no se está conectado al servidor)

Un saludo
__________________
Documentación de VBScript V5.6 en Español:
http://download.microsoft.com/downlo...ES/scd56es.exe
  #3 (permalink)  
Antiguo 25/06/2004, 10:30
Avatar de com7473  
Fecha de Ingreso: junio-2004
Mensajes: 22
Antigüedad: 20 años
Puntos: 0
Gracias LeCLUB por atender mi solicitud.

Lo que me dices se puede hacer lo he intentado pero no logro hacer que en la misma página me capture el valor que toma la ventana de confirmación, no se si haciendo la confirmación en la página de EliminarLugar.asp se pueda lograr más facilmente.

No tienes algún ejemplo concreto de como se puede hacer?

De nuevo gracias por tu ayuda.
  #4 (permalink)  
Antiguo 25/06/2004, 11:00
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 4 meses
Puntos: 2
arregla este codigo yo lo uso para eliminar y te presenta una ventana donde te dice el valor del id y la descripcion de lo que vas a eliminar.. lo hice con un link a una imagen

<a href="delete.asp?idE=<% = Rs("IDencuesta") %>" onClick="return window.confirm('Eligió eliminar la siguiente encuesta\n\n<% = TRIM(Rs("pregunta")) %>\n\n ID: <% = TRIM(Rs("idencuesta")) %>')"><img src="../imagenes/borrar.gif" alt="Borrar Usuario" width="18" height="18" border="0"></a>

ojala te sirva
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #5 (permalink)  
Antiguo 25/06/2004, 12:31
Avatar de LeCLUB  
Fecha de Ingreso: abril-2003
Ubicación: Barcelona (España)
Mensajes: 205
Antigüedad: 21 años, 1 mes
Puntos: 1
mira, es tan sencillo como esto:

1. Primero metes este código Javascript entre las etiquetas <HEAD> y </HEAD>

Código PHP:
<script language="javascript">
        function 
borrar_lugar(id){
        if(
confirm("¿Estás seguro de que quieres eliminar el lugar?"))
        
window.location "pagina.asp?a=borrar_lugar&ID=" id
        
}
    
</script> 
y luego, en cada registro metes un enlace que llame a esa función Javascript, pasándole el ID del registro:

Código PHP:
<a href="javascript:borrar_lugar(<%= rs("id_lugar") %>)">Borrar</a
Luego, en la página PAGINA.ASP (que en tu caso puede ser tanto la de EliminarLugar.asp, o recargar la misma página) lo importante es que "mires" si la acción que se quiere hacer es eliminar el registro. Por eso, cuando el Javascript redirige hacia la nueva página PAGINA.ASP (o la que quieras), además de enviarle el ID del registro, también le envía un valor dentro de la variable A, que es "borrar_lugar".

Este dato será imprescindible para que la página ASP "sepa" que acción hay que hacer, si mostrar de nuevo los registros, o eliminar primero uno, y luego mostrarlos.

Asi que en la página ASP debería de haber algo así:

If Request.QueryString("a") = "borrar_lugar" Then
aquí metemos las acciones para eliminar el registro; es decir, recuperamos el registro sa borrar con Request.QueryString("id") , nos conectamos
a la BBDD, lo borramos y lo cerramos todo
End if

Espero que te sirva

Un saludo
__________________
Documentación de VBScript V5.6 en Español:
http://download.microsoft.com/downlo...ES/scd56es.exe

Última edición por LeCLUB; 25/06/2004 a las 12:34
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:58.