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

problema con div que no refresca mi pagina

Estas en el tema de problema con div que no refresca mi pagina en el foro de ASP Clásico en Foros del Web. tengooo un problemilla de cargar la informacion en mis divs Código: function show_cblistapre() { limpia(); document.getElementById("contentb1").style.display = "block"; } BOTON QUE HABILITA O MUESTRA EL ...
  #1 (permalink)  
Antiguo 28/09/2007, 17:22
Avatar de Gaby_Corr  
Fecha de Ingreso: junio-2005
Mensajes: 672
Antigüedad: 18 años, 10 meses
Puntos: 0
problema con div que no refresca mi pagina

tengooo un problemilla de cargar la informacion en mis divs

Código:
 function show_cblistapre()
 { 
   limpia();	   
   document.getElementById("contentb1").style.display = "block";
    }
BOTON QUE HABILITA O MUESTRA EL DIV CON MI CONTENIDO MARCADO CON ROJO

<td><a href="javascript: show_cblistapre()" target="_self" onClick="MM_nbGroup('down','group3','cblistapre',' images/pest_Lista_precios_2.gif',1)" onMouseOver="MM_nbGroup('over','cblistapre','image s/pest_Lista_precios_2.gif','',1)" onMouseOut="MM_nbGroup('out')">
<img src="images/pest_Lista_precios.gif" alt="calistapre" name="calistapre" width="137" height="56" border="0" onload="" /></a></td>



<div id="contentb1" style=" display: none;">
<% Server.Execute("baslistapre.asp")%></div>



ESTE CODIGO CORRESPONDE A BASLISTAPRE.ASP
Código:
<table border="0" cellpadding="0" cellspacing="0">
	<tr>
	<td>
		<table cellpadding="0" cellspacing="0" width="262">
		<tr><td>
			<ul>
			  <li class="doc"><a href="blprelic.asp" target="contenidolistap">Licenciamiento</a></li>
			  <li class="doc"><a href="blpreser.asp" target="contenidolistap">Servicios</a></li>
			  <li class="doc"><a href="#" target="_self">Desarrollo</a></li>
		   </ul>
		</td></tr></table>	
	</td>
	<td>
	   <iframe src="texto.asp" frameborder="0" width="455" name="contenidolistap" id="contenidolistap"></iframe>	 	
	</td>
	</tr>		
</table>
la pagina asp, anterior si hace su funcion correctamente, el problema es que cuando cambio a otro boton ( lo que esta en azul es solo un boton, y asi tengo varios mas solo cambia la funcion que llama), y me regreso a este mismo boton
pues que queda con la informacion que tengo en :

<li class="doc"><a href="blpreser.asp" target="contenidolistap">Servicios</a></li>

ay es que no puedo poner todo el codigo por que esta muy largo,
ojala algun alma caritativa tenga idea o le interese mi problema y le paso mi archivo jejje
gracias!!
__________________
" Recuerda , estas donde debes estar ..."
  #2 (permalink)  
Antiguo 28/09/2007, 17:52
Avatar de Gaby_Corr  
Fecha de Ingreso: junio-2005
Mensajes: 672
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: problema con div que no refresca mi pagina

oh dios, lo hice de otra forma y no se puede, me pasa exactamente lo mismo =(
si es con div o con iframe o con server.execute =S
__________________
" Recuerda , estas donde debes estar ..."
  #3 (permalink)  
Antiguo 28/09/2007, 17:53
Avatar de Gaby_Corr  
Fecha de Ingreso: junio-2005
Mensajes: 672
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: problema con div que no refresca mi pagina

Cita:
Iniciado por Gaby_Corr Ver Mensaje
oh dios, lo hice de otra forma y no se puede, me pasa exactamente lo mismo =(
si es con div o con iframe o con server.execute =S
Código:
<%

dim PathFTP1, PathFTP2
dim urlFTP1, urlFTP2

PathFTP1 = "C:\Inetpub\wwwroot\sitiodistribuidores\Comercial\Basico\ListadePrecios\Licenciamiento"
PathFTP2 = "C:\Inetpub\wwwroot\sitiodistribuidores\Comercial\Basico\ListadePrecios\Servicios"

urlFTP1 = "./comercial/Basico/ListadePrecios/Licenciamiento/"
urlFTP2 = "./comercial/Basico/ListadePrecios/Servicios/"

Function LeerFolder(PathFTP, urlFTP)

Dim fso 
Set fso = CreateObject("Scripting.FileSystemObject")

	dim tmpArchivos, file, Contador, urlfile, directo, folderUsuario, ArchivosUsuario

	Set folderUsuario = fso.GetFolder(PathFTP)
	Set	ArchivosUsuario =  FolderUsuario.files

	tmpArchivos = ""
	Contador = 1
	For Each file in ArchivosUsuario 
	urlfile = urlFTP & File.name
		
		    tmpArchivos = tmpArchivos & "    <tr>"
			tmpArchivos = tmpArchivos & "    <td><ul><li class=""doc""><a href=""" & urlfile & """><b>" & File.name  &  "</a></b></li></td></tr>"
			tmpArchivos = tmpArchivos & "    <tr><td><div style="" margin-left: 30px;"">Fecha: " & File.datecreated & "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tamaño: "
			tmpArchivos = tmpArchivos &  Formatnumber(File.Size / 1048576, 2) & " MB</div></td></tr>"
			tmpArchivos = tmpArchivos & "  </tr>"
			Contador = Contador + 1
    next
	
	if tmpArchivos = "" then
		tmpArchivos = "<tr><td colspan=4 align=center><b><br>Carpeta vacia<br><br></b></td></tr>"
	end if
	leerfolder = tmpArchivos
	
end function


%>	

<script language="javascript" type="text/javascript">
function show_contenido(){
   document.getElementById("contenidolistap").style.display = "block";
      document.getElementById("contenido2").style.display = "none";
}
function show_contenido2(){
   document.getElementById("contenido2").style.display = "block";
      document.getElementById("contenidolistap").style.display = "none";
}
</script>
<table border="0" cellpadding="0" cellspacing="0">
	<tr>
	<td>
		<table cellpadding="0" cellspacing="0" width="262">
		<tr><td>
			<ul>
			  <li class="doc"><a href="javascript: show_contenido();" target="_self">Licenciamiento</a></li>
			  <li class="doc"><a href="javascript: show_contenido2()" target="_self">Servicios</a></li>
			 <!-- <li class="doc"><a href="blpreser.asp" target="contenidolistap">Servicios</a></li> 'con el iframe-->
			 <!--<li class="doc"><a href="#" target="_self">Desarrollo</a></li>-->
		   </ul>
		</td></tr></table>	
	</td>
	<td>
	   <!--<iframe src="texto.asp" frameborder="0" width="455" name="contenidolistap" id="contenidolistap"></iframe>	 	-->
	   <div id="contenidolistap" style="display: none;">
	    <table><% = LeerFolder(PathFTP2, urlFTP2) %></table>
	   </div>
	   <div id="contenido2" style="display: none;">
	    <table><% = LeerFolder(PathFTP1, urlFTP1) %></table>
	   </div>
	</td>
	</tr>		
</table>
__________________
" Recuerda , estas donde debes estar ..."
  #4 (permalink)  
Antiguo 28/09/2007, 21:54
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
Re: problema con div que no refresca mi pagina

Si Gaby, si te entendí, tu solamente llamas a un javascript que no hace mas que "des-esconder" un div, el cual tiene un contenido que se cargó previamente, es decir, el asp existe antes que el javascript, es por eso que aunque escondas y des-escondas el div, el contenido siempre será el mismo, tendrás que recargar la página o hacer algún tipo de AJAX para cambiar el contenido de ese div.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 28/09/2007, 22:52
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 2 meses
Puntos: 88
Re: problema con div que no refresca mi pagina

abundando en lo que "Master of Darkness" (U_G ), te menciono de AJAX, me tome la libertad de escribirte este codigo si no es mucho problema, asi no tendrias que modificar ninguna de tus paginas, ahora esperemos que funcione... el codigo:

el script de AJAX
Código PHP:
<script language="javascript" type="text/javascript">
function 
handleHttpResponse() {
    if (
http.readyState == 4) {
       if (
http.status == 200) {
          if (
http.responseText.indexOf('invalid') == -1) {
             
results http.responseText.split(",");
             
document.getElementById("mostrar").innerHTML results;
             
enProceso false;
          }
       }
    }
}

function 
getHTTPObject() {
    var 
xmlhttp;
    
/*@cc_on
    @if (@_jscript_version >= 5)
       try {
          xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
       } catch (e) {
          try {
             xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
          } catch (E) { xmlhttp = false; }
       }
    @else
    xmlhttp = false;
    @end @*/
    
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
       try {
          
xmlhttp = new XMLHttpRequest();
       } catch (
e) { xmlhttp false; }
    }
    return 
xmlhttp;
}

function 
MostrarContenido(pagina) {
    if (!
enProceso && http) {
       
http.open("POST"paginatrue);
       
http.onreadystatechange handleHttpResponse;
       
enProceso true;
       
http.send(null);
    }
}

var 
enProceso false// lo usamos para ver si hay un proceso activo
var http getHTTPObject(); // Creamos el objeto XMLHttpRequest

</script> 
como ya sabemos, esto debe estar entre las etiquetas <head></head>
ahora en la tabla que tienes de tus enlaces:
Código PHP:
<body>
<
table border="0" cellpadding="0" cellspacing="0">
    <
tr>
    <
td>
        <
table cellpadding="0" cellspacing="0" width="262">
        <
tr><td>
            <
ul>
              <
li class="doc"><a onclick="MostrarContenido('blprelic.asp')">Licenciamiento</a></li>
              <
li class="doc"><a onclick="MostrarContenido('blpreser.asp')">>Servicios</a></li>
              <
li class="doc"><a href="#" target="_self">Desarrollo</a></li>
           </
ul>
        </
td></tr></table>    
    </
td>
    <
td>
       <
div id="mostrar"></div>    
    </
td>
    </
tr>        
</
table
notese que cambie el IFRAME, por un div, asi podras manejarlo un poco mejor
ahora, mencionaste que tenias un script para ocultar el DIV, a pues, puedes combinarlos los dos, que al tener la respuesta del script de ajax, si es correcta la transaccion, mostrar el div nuevamente... refiriendonos a esta parte:

Código PHP:
           if (http.responseText.indexOf('invalid') == -1) {
             
results http.responseText.split(",");
             
document.getElementById("mostrar").innerHTML results;
             
enProceso false;
//aki puedes incorporar el Function que muestra el div, una ves que se relleno
//por ejemplo
MostrarDiv('mostrar');
          } 
espero te sirva

suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #6 (permalink)  
Antiguo 01/10/2007, 08:56
Avatar de Gaby_Corr  
Fecha de Ingreso: junio-2005
Mensajes: 672
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: problema con div que no refresca mi pagina

bueno, el codigo de ajax si sirvio =), solo que teng una gran duda

tengo una pag principal que se llaama comercial.asp, en esta pag es donde esta la funcion de "des-esconder" divs,

function show_cblistapre()
{
limpia();
document.getElementById("contentb1").style.display = "block";
}

cuando aparezco un div mando llamar la pagina baslistapre.asp de esta forma:

<div id="contentb1" style=" display: none;"><% Server.Execute("baslistapre.asp")%></div>


** el codigo anterior esta dentro de mi pagina comercial.asp **

dentro de baslistapre.asp puse el codigo ajax que me pasaron, de esta forma :

Código:
<html>
<head>
<script language="javascript" type="text/javascript">
function handleHttpResponse() {
    if (http.readyState == 4) {
       if (http.status == 200) {
          if (http.responseText.indexOf('invalid') == -1) {
             results = http.responseText.split(",");
             document.getElementById("mostrar").innerHTML = results;
             enProceso = false;
          }
       }
    }
}

function getHTTPObject() {
    var xmlhttp;
    /*@cc_on
    @if (@_jscript_version >= 5)
       try {
          xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
       } catch (e) {
          try {
             xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
          } catch (E) { xmlhttp = false; }
       }
    @else
    xmlhttp = false;
    @end @*/
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
       try {
          xmlhttp = new XMLHttpRequest();
       } catch (e) { xmlhttp = false; }
    }
    return xmlhttp;
}

function MostrarContenido(pagina) {
    if (!enProceso && http) {
       http.open("POST", pagina, true);
       http.onreadystatechange = handleHttpResponse;
       enProceso = true;
       http.send(null);
    }
}

var enProceso = false; // lo usamos para ver si hay un proceso activo
var http = getHTTPObject(); // Creamos el objeto XMLHttpRequest

</script>

</head>


<body>
<%

dim PathFTP1, PathFTP2
dim urlFTP1, urlFTP2

PathFTP1 = "C:\Inetpub\wwwroot\sitiodistribuidores\Comercial\Basico\ListadePrecios\Licenciamiento"
PathFTP2 = "C:\Inetpub\wwwroot\sitiodistribuidores\Comercial\Basico\ListadePrecios\Servicios"

urlFTP1 = "./comercial/Basico/ListadePrecios/Licenciamiento/"
urlFTP2 = "./comercial/Basico/ListadePrecios/Servicios/"

Function LeerFolder(PathFTP, urlFTP)

Dim fso 
Set fso = CreateObject("Scripting.FileSystemObject")

	dim tmpArchivos, file, Contador, urlfile, directo, folderUsuario, ArchivosUsuario

	Set folderUsuario = fso.GetFolder(PathFTP)
	Set	ArchivosUsuario =  FolderUsuario.files

	tmpArchivos = ""
	Contador = 1
	For Each file in ArchivosUsuario 
	urlfile = urlFTP & File.name
		
		    tmpArchivos = tmpArchivos & "    <tr>"
			tmpArchivos = tmpArchivos & "    <td><ul><li class=""doc""><a href=""" & urlfile & """><b>" & File.name  &  "</a></b></li></td></tr>"
			tmpArchivos = tmpArchivos & "    <tr><td><div style="" margin-left: 30px;"">Fecha: " & File.datecreated & "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tamaño: "
			tmpArchivos = tmpArchivos &  Formatnumber(File.Size / 1048576, 2) & " MB</div></td></tr>"
			tmpArchivos = tmpArchivos & "  </tr>"
			Contador = Contador + 1
    next
	
	if tmpArchivos = "" then
		tmpArchivos = "<tr><td colspan=4 align=center><b><br>Carpeta vacia<br><br></b></td></tr>"
	end if
	leerfolder = tmpArchivos
	
end function


%>
<table border="0" cellpadding="0" cellspacing="0">
	<tr>
	<td>
		<table cellpadding="0" cellspacing="0" width="262">
		<tr><td>
			<ul>
			  <li class="doc"><a href="#" onclick="MostrarContenido('blprelic.asp')" >Licenciamiento</a></li>
			  <li class="doc"><a href="#" onclick="MostrarContenido('blpreser.asp')" >Servicios</a></li>
		   </ul>
		</td></tr></table>	
	</td>
	<td> <div id="mostrar"></div></td>
	</tr>		
</table>

</body>
</html>
ahora bien , no entendi bien lo que dice shiryu_libra de combinar este ajax con la mostrada del div, si yo lo tengo en paginas distintas =S
__________________
" Recuerda , estas donde debes estar ..."
  #7 (permalink)  
Antiguo 01/10/2007, 10:36
Avatar de Gaby_Corr  
Fecha de Ingreso: junio-2005
Mensajes: 672
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: problema con div que no refresca mi pagina

bueno pues ahora tengo el mismo problema con el ajax, jaja ay no la verdad queya se me hizo bolas el engrudo, jajaja.

pues que me sucede que intento hacer eso en otra pagna y no me funciona nada!! como que se hace bolas al momento de no se si de crear el objeto XMLHttpRequest, de mostrarcontenido() o que se yo =S

ayudaaa!!!

aparte no me muestra los acentos en ajax



gracias
__________________
" Recuerda , estas donde debes estar ..."
  #8 (permalink)  
Antiguo 01/10/2007, 13:44
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 2 meses
Puntos: 88
Re: problema con div que no refresca mi pagina

hola gaby, eso fue detalle que se omitio en el mensaje previo, si en dado caso la pagina comercial.asp, es la que contiene todos los enlaces entonces agregar el codigo de AJAX a esta... y asi el codigo de esconder/mostrar divs, funcionara bien

en referencia a los acentos, dejame buscar cual es el error, lo que pasa es que al mandar llamar la pagina ASP, esta ya viene con las "Ñ y los acentos, entonces tendriamos que mandar llamar las funciones escape()/unescape() cuando mandas el resultado, asi al mostrarla con ajax no tendrias problema alguno

dejame verificar como seria el procedimiento, o en su caso mas practico que alguno de los magos apareciera y diera solucion

suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #9 (permalink)  
Antiguo 01/10/2007, 15:46
Avatar de Gaby_Corr  
Fecha de Ingreso: junio-2005
Mensajes: 672
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: problema con div que no refresca mi pagina

mm bueno intentare hacerlo, lo que pasa es que tengo muchos botones en mi pag comercial.asp

botones1 que hacen que se active/desactive divs con otros botones2, estos botones2 manda activar/desactivar divs que tienen paginas que hacen que estas a su vez tengan divs que activar/desactivar.

si lo vemos como un arbol de carpetas, este seria un arbol de divs =S
y ahi es donde se me complica todo =S
ya no se que hacer!!
__________________
" Recuerda , estas donde debes estar ..."
  #10 (permalink)  
Antiguo 03/10/2007, 09:10
Avatar de Gaby_Corr  
Fecha de Ingreso: junio-2005
Mensajes: 672
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: problema con div que no refresca mi pagina

alguien tiene idea de lo que pueda estar pasando con mis divs ???
__________________
" Recuerda , estas donde debes estar ..."
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 06:28.