Foros del Web » Programando para Internet » Javascript »

javascript se corta al actualizar la bd

Estas en el tema de javascript se corta al actualizar la bd en el foro de Javascript en Foros del Web. Hola a todos en foros del web, les escribo porque tengo un problema con el codigo de mi portal web, sucede que genero una tabla ...
  #1 (permalink)  
Antiguo 06/08/2008, 20:36
Avatar de javico40  
Fecha de Ingreso: agosto-2008
Ubicación: Evergreen Terrace 123
Mensajes: 288
Antigüedad: 15 años, 8 meses
Puntos: 9
Exclamación javascript se corta al actualizar la bd

Hola a todos en foros del web, les escribo porque tengo un problema con el codigo de mi portal web, sucede que genero una tabla desde php en el cual guardo divs y dentro de estos divs hay una imagen con href y una funcion javascript con ajax:

echo "<table width = '300' height = '214' border = '0' align = 'center' > \n";

echo "<tr> \n";

echo "<td><b>Premium</b></td> \n";

echo "<td><b>Premium</b></td> \n";

echo "<td><b>Premium</b></td> \n";

echo "<td><b>Premium</b></td> \n";

echo "</tr> \n";

while ($row = mysql_fetch_row($result)){

echo "<tr> \n";

echo " <td width='60'><div align ='center'><a href= javascript:Cargar('empresas/$row[1]/index.php?cliente=$row[1]');><img src='empresas/$row[1]/logo/$row[0].jpg' width = '45' height = '45' /></a></div></td> \n";

echo "<td width='60'><div align ='center'><a href= javascript:Cargar('empresas/$row[3]/index.php?cliente=$row[3]');><img src='empresas/$row[3]/logo/$row[2].jpg' width = '45' height = '45' /></a></div></td> \n";

echo "<td width='60'><div align ='center'><a href=javascript:Cargar('empresas/$row[5]/index.php?cliente=$row[5]');><img src='empresas/$row[5]/logo/$row[4].jpg' width = '45' height = '45' /></a></div></td> \n";

echo "<td width='60'><div align ='center'><a href=javascript:Cargar('empresas/$row[7]/index.php?cliente=$row[7]');><img src='empresas/$row[7]/logo/$row[6].jpg' width = '45' height = '45' /></a></div></td> \n";


echo "</tr> \n";

}

echo "</table> \n";

el problema es que cuando actualizo algun campo de la tabla ($row) me sale el script cortado al poner el mouse sobre el se ve en la barra de estado, y no funciona.

deria verse : javascript:Cargar('empresas/EmpresaCliente/index.php?cliente=EmpresaCliente'

pero en cambio sale: javascript:Cargar('empresas/EmpresaCliente

si dejo los datos como estan en la tabla no se daña, solo se daña si meto un nuevo cliente, por eso estoy muy confundido, HELPPPPPPPPPPP
  #2 (permalink)  
Antiguo 07/08/2008, 05:19
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: javascript se corta al actualizar la bd

Posiblemente la salida php contenga algún caracter problemático. Lo que podrías probar es escapar la salida php ($row[n]) con una función como esta:
Código PHP:
function js_encode($s){
    
$texto='';
    
$lon=strlen($s);
    for(
$i=0;$i<$lon;++$i){
        
$num=ord($s[$i]);
        if(
$num<16$texto.='\x0'.dechex($num);
        else 
$texto.='\x'.dechex($num);
    }
    return 
$texto;
//uso: echo  js_encode($row[0]);

  #3 (permalink)  
Antiguo 07/08/2008, 12:45
Avatar de javico40  
Fecha de Ingreso: agosto-2008
Ubicación: Evergreen Terrace 123
Mensajes: 288
Antigüedad: 15 años, 8 meses
Puntos: 9
Respuesta: javascript se corta al actualizar la bd

Gracias voy a probar el codigo para ver que pasa, pero a que llamas escapar de una salida, acaso te refieres a excepciones?.
  #4 (permalink)  
Antiguo 07/08/2008, 12:55
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: javascript se corta al actualizar la bd

Me refiero a que hay caracteres (el salto de línea por ejemplo, o entidades html) que hacen que el código javascript no funcione correctamente. La función que propuse lo que hace es evitar esos problemas.
  #5 (permalink)  
Antiguo 13/08/2008, 09:39
Avatar de javico40  
Fecha de Ingreso: agosto-2008
Ubicación: Evergreen Terrace 123
Mensajes: 288
Antigüedad: 15 años, 8 meses
Puntos: 9
Respuesta: javascript se corta al actualizar la bd

Probe tu codigo pero se sigue cortando igual, esto fue lo que hice:

Código:
echo " <td width='60'><div align ='center'><a href= javascript:Cargar('empresas/js_encode($row[1])/index.php?cliente=$row[1]');><img src='empresas/$row[1]/logo/$row[0].jpg' width = '45' height = '45' /></a></div></td> \n";
Existe otra razon por la que se corte un javascript de esa manera, he preguntado a varios amigos y todos dicen que es raro que solo se corte al modificar el nombre de la empresa en la base de datos, sobre todo porque:

Código:
<img src='empresas/$row[1]/logo/$row[0].jpg' width = '45' height = '45' />
funciona perfectamente y me trae laimagen que quiero, es decir si esta sacando el nombre de la empresa perfectamente, alguna idea de cual puede ser el problema?
  #6 (permalink)  
Antiguo 13/08/2008, 10:19
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: javascript se corta al actualizar la bd

Podés subir un ejemplo para que lo veamos?
  #7 (permalink)  
Antiguo 13/08/2008, 11:14
Avatar de javico40  
Fecha de Ingreso: agosto-2008
Ubicación: Evergreen Terrace 123
Mensajes: 288
Antigüedad: 15 años, 8 meses
Puntos: 9
Información Respuesta: javascript se corta al actualizar la bd

Este es el index de mi sitio web, en el hay una tabla que contiene los logos de las empresas,al hacer click carga la pagina de una empresa en un div dentro de la misma pagina usando ayax. el problema que da es que el href hacia la carpeta de las empresas sale cortado, arriba puse como sale en la barra de estado, gracias por la ayuda:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MeMall de Venezuela</title>
<LINK rel="stylesheet" href="MeMall.css" type="text/css" media="all">

<script language="javascript" type="text/javascript">
function NuevoAjax(){
        var xmlhttp=false;
        try{
                xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        }catch(e){
                try{
                        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }catch(E){
                        xmlhttp = false;
                }
        }

        if(!xmlhttp && typeof XMLHttpRequest!='undefined'){
                xmlhttp = new XMLHttpRequest();
        }
        return xmlhttp;
}

function Cargar(url){
        var contenido, preloader;
        contenido = document.getElementById('contenido');
        preloader = document.getElementById('preloader');
        //creamos el objeto XMLHttpRequest
        ajax=NuevoAjax(); 
        //peticionamos los datos, le damos la url enviada desde el link
        ajax.open("GET", url,true); 
        ajax.onreadystatechange=function(){
                if(ajax.readyState==1){
                        preloader.innerHTML = "Cargando...";
                        //modificamos el estilo de la div, mostrando una imagen de fondo
                        preloader.style.background = "url('loading.gif') no-repeat"; 
                }else if(ajax.readyState==4){
                        if(ajax.status==200){
                                //mostramos los datos dentro de la div
                                contenido.innerHTML = ajax.responseText; 
                                preloader.innerHTML = "Cargado.";
                                preloader.style.background = "url('loaded.gif') no-repeat";
                        }else if(ajax.status==404){
                                preloader.innerHTML = "La página no existe";
                        }else{
                                //mostramos el posible error
                                preloader.innerHTML = "Error:".ajax.status; 
                        }
                }
        }
        ajax.send(null);
}
</script>

<script language="JavaScript">
function ventanaSecundaria (URL){
window.open(URL,"ventana1","width=500, height=350, scrollbars=no, menubar=no, location=no, resizable=no")
}
</script> 


</head>
<body>
<div class="pagina"; style="width:780px; position:relative; margin-left:auto; margin-right:auto;">
<p> </p>
<div class="header">
  <div align="left"><img src="imagenes/LOGO_MeMall_Modificado.jpg" width="214" height="131" /></div>
</div>
<div class="Menu">Barra de anuncios MeMall</div>
<div class="izquierdo">
<p align="center">
<?PHP
include"Menu_vertical.html";
include"confi.php";
?>
</p>
</div>
<div class="derecho">Publicidad MeMall<img src="imagenes/LOGO_MeMall_Modificado.jpg" width="167" height="410" /></div>
<div class="centro">
<div class="separador">
<p> </p>
</div>
<div class="contenido" id="contenido" align="center">
       <?PHP

$link = mysql_connect($server,$db_user,$db_pass) or die ("No se pudo conectar a la base de datos");
	mysql_select_db($database,$link);
	
$result = mysql_query("SELECT `nombre`, `link`, `nombre2`, `link2`, `nombre3`, `link3`, `nombre4`, `link4` FROM `logos`;", $link);

echo "<table width = '300' height = '214' border = '0' align = 'center' > \n";

echo "<tr> \n";

echo "<td><b>Premium</b></td> \n";

echo "<td><b>Premium</b></td> \n";

echo "<td><b>Premium</b></td> \n";

echo "<td><b>Premium</b></td> \n";

echo "</tr> \n";

while ($row = mysql_fetch_row($result)){

echo "<tr> \n";

echo "<td width='60'><div align ='center'><a href=javascript:Cargar('empresas/$row[1]/index.php?cliente=$row[1]');><img src='logos/$row[0].jpg' width = '45' height = '45' /></a></div></td> \n";

echo "<td width='60'><div align ='center'><a href= javascript:Cargar('empresas/$row[3]/index.php?cliente=$row[3]');><img src='logos/$row[2].jpg' width = '45' height = '45' /></a></div></td> \n";

echo "<td width='60'><div align ='center'><a href=javascript:Cargar('empresas/$row[5]/index.php?cliente=$row[5]');><img src='logos/$row[4].jpg' width = '45' height = '45' /></a></div></td> \n";

echo "<td width='60'><div align ='center'><a href=javascript:Cargar('empresas/$row[7]/index.php?cliente=$row[7]');><img src='logos/$row[6].jpg' width = '45' height = '45' /></a></div></td> \n";


echo "</tr> \n";

}

echo "</table> \n";
  ?>
  </div>
  <p> </p>
  <p> </p>
</div>
<div id="preloader"></div>
</div>
</body>
</html>
  #8 (permalink)  
Antiguo 13/08/2008, 11:25
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: javascript se corta al actualizar la bd

Con subir me refería a online.
  #9 (permalink)  
Antiguo 13/08/2008, 11:54
Avatar de javico40  
Fecha de Ingreso: agosto-2008
Ubicación: Evergreen Terrace 123
Mensajes: 288
Antigüedad: 15 años, 8 meses
Puntos: 9
Respuesta: javascript se corta al actualizar la bd

Mi aplicacion esta en desarrollo no lahe subido a un servidor propio, la puse en servidores freehosting pero da conflicto con el css del servidor huesped y se desordena todo, no quierosubirla a internet antes de su primera version Beta. pero arriba puse que pasa, que aparece en la barra de estado al posicionar el mouse sobre el logo, asi hagas click no hace nada.
  #10 (permalink)  
Antiguo 13/08/2008, 16:09
Avatar de javico40  
Fecha de Ingreso: agosto-2008
Ubicación: Evergreen Terrace 123
Mensajes: 288
Antigüedad: 15 años, 8 meses
Puntos: 9
Exclamación Respuesta: javascript se corta al actualizar la bd

Alguno sabe como arreglar esto? aalguno selehan cortado los javascript?
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 18:10.