Foros del Web » Programando para Internet » Javascript »

mostrar mensaje <insertando datos>

Estas en el tema de mostrar mensaje <insertando datos> en el foro de Javascript en Foros del Web. hola a todos tengo una pagina asp q realiza varias consultas, e inserts y tarda bastante me gustaria poder ir mostrando al usuario en una ...
  #1 (permalink)  
Antiguo 28/05/2004, 02:18
 
Fecha de Ingreso: enero-2002
Mensajes: 1.438
Antigüedad: 22 años, 4 meses
Puntos: 0
mostrar mensaje <insertando datos>

hola a todos tengo una pagina asp q realiza varias consultas, e inserts y tarda bastante

me gustaria poder ir mostrando al usuario en una pantallita tipo alert pero sin boton aceptar los pasos q se hacen, para que no se crea q se ha colgado.

serian dos o cuatro pantalla una detras de otra
  #2 (permalink)  
Antiguo 28/05/2004, 02:36
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola rrufo:

Una opción es usando popups, pero tienen controles
Y otra opción es con una capa que se muestre por ejemplo en el centro de la pantalla:

por ejemplo <div id=capa style="width: 100; height: 50; visibility: hidden; top: 100; left: 200;" ></div>

...y la función para mostrar sería más o menos:

function muestra(dato) {
var capa = document.getElementById("capa");
with (capa) {
innerHTML = dato;
style.visibility = "visible";
}
}

Para mostrarla sería: muestra("procesando datos");

Para ocultar la capa solo hay que cambiar el estilo visibility a "hidden"

Saludos
  #3 (permalink)  
Antiguo 31/05/2004, 10:42
 
Fecha de Ingreso: enero-2002
Mensajes: 1.438
Antigüedad: 22 años, 4 meses
Puntos: 0
he captado la idea, pero no me funciona, tal vez pq pongo codigo jscript dentro de ASP, o pq no le da tiempo a mostrarse.

no se mucho de jscript, existe alguna funcion tipo wait, que retrase un segundo la ejecucion para poder mostrar el mensaje
  #4 (permalink)  
Antiguo 31/05/2004, 12:51
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola otra vez:

Si que existe, pero hay que asociarla a una fución (setTimeout(función/instrucción, milisegundos))

puedes poner eso para ocultar la capa +/- así:

function muestra(dato) {
var capa = document.getElementById("capa");
with (capa) {
innerHTML = dato;
style.visibility = "visible";
}
setTimeout("oculta()", 1000);
}

Lo malo es que solo acepta cadenas que supongo que en su código nativo convierte en instrucción con eval...

Si no lo tienes muy claro, muestra el código que tienes y así podemos estudiarlo.

Saludos
  #5 (permalink)  
Antiguo 01/06/2004, 03:54
 
Fecha de Ingreso: enero-2002
Mensajes: 1.438
Antigüedad: 22 años, 4 meses
Puntos: 0
te paso el codigo simplificado y por partes,
supongo que sera un fallo tonto, tonto, tonto.

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

<%
' condicion cuando
If (CStr(Request("MM_insert")) = "form1") Then
%><script>
muestra("procesando datos");
oculta("")
</script>
<%

' execute the insert
Response.Redirect("otras.asp")

End If
%>
  #6 (permalink)  
Antiguo 01/06/2004, 03:55
 
Fecha de Ingreso: enero-2002
Mensajes: 1.438
Antigüedad: 22 años, 4 meses
Puntos: 0
dentro del head:

<html>
<head>

<script>
function muestra(dato) {
var capa = document.getElementById("capa");
with (capa) {
innerHTML = dato;
style.visibility = "visible";
}
setTimeout("oculta()", 10000);

}

function oculta(dato) {
var capa = document.getElementById("capa");
with (capa) {
style.visibility = "hidden";
}
}
</script>
</head>
  #7 (permalink)  
Antiguo 01/06/2004, 03:56
 
Fecha de Ingreso: enero-2002
Mensajes: 1.438
Antigüedad: 22 años, 4 meses
Puntos: 0
y en el body un simple formulario:

<body>

<form method="post" action="<%=MM_editAction%>" name="form1">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">&nbsp;</td>
<td> <input type="submit" value="Insert Record"> </td>
</tr>
</table>
<div id=capa style="width: 100; height: 50; visibility: hidden; top: 100; left: 200;" ></div>
<input type="hidden" name="MM_insert" value="form1">
</form>

</body>
</html>
  #8 (permalink)  
Antiguo 01/06/2004, 05:03
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola otra vez:

Si no me equivoco es tal como dices un fallo tonto, tonto, tonto

En la función oculta no hay parámetros :

Prueba así:


function muestra(dato) {
var capa = document.getElementById("capa");
with (capa) {
innerHTML = dato;
style.visibility = "visible";
}
setTimeout("oculta('" + dato + "')", 10000);
}

Supongo que tu código asp lo tienes bien.

Saludos
  #9 (permalink)  
Antiguo 01/06/2004, 05:42
 
Fecha de Ingreso: enero-2002
Mensajes: 1.438
Antigüedad: 22 años, 4 meses
Puntos: 0
pues no.

puedes verlo tu mismo en:

http://www.ecosmep.com/Untitled-3.asp

pero algo he adelantado, da error en la funcion muestra:

dice se esperaba un objeto.
  #10 (permalink)  
Antiguo 01/06/2004, 06:04
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola otra vez:

Me parece que lo primero estaba bien solo que tenías que haberlo puesto de otra manera:


<html>
<head>

<script>

<html>
<head>
<script>
function oculta() {
var capa = document.getElementById("capa");
with (capa) {
style.visibility = "hidden";
}
}

function muestra(dato) {
var capa = document.getElementById("capa");
with (capa) {
innerHTML = dato;
style.visibility = "visible";
}
setTimeout("oculta()", 10000);
}

</script>
</head>

<body onload="muestra('esto')">
<div id=capa style="width: 100; height: 50; visibility: hidden; top: 100; left: 200;" ></div>
</body>
</html>

Tal como lo tenías no estaban "visibles" las funciones muestra y oculta...

Una costumbre buena es usar el evento onload del body para hacer las llamadas a las funciones.

Saludos
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 01:22.