JavaScript - Problema PHP/JQUERY/AJAX Internet Explorer 7

 
Vista:

Problema PHP/JQUERY/AJAX Internet Explorer 7

Publicado por Alberto (3 intervenciones) el 01/02/2011 17:57:30
Buenas tardes señores:

Acudo a pediros ayuda ya un poco desesperado porque no sé cómo solucionar un problema que se está dando en un sitio web que he preparado. El caso es que cuando lo he implementado y probado sobre ie 8 y otros navegadores como firefox, chrome, etc, funciona correctamente y la primera persona del cliente que lo prueba con ie 7 falla (esto es empezar bien una validación... jajaja). El problema es que no funciona con ie 7 y sí con el resto de navegadores. Pego el código completo a ver si alguien ve el error o cómo lo puedo arreglar.

Muchas gracias de antemano por vuestra ayuda.

<!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>
<title>Consejo Canario Procuradores</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="language" content="es" />
<meta name="description" content="Consejo Canario de Colegios de Procuradores." />
<meta name="keywords" content="Procurador Canarias, Procurador Las Palmas, Procurador Tenerife, Procurador Lanzarote, Procurador Fuerteventura, Procurador La Palma, Procurador El Hierro, Procurador La Gomera" />
<link rel="stylesheet" type="text/css" href="css/table.css">

<script type="text/javascript"><!--//--><![CDATA[//><!--
IEhover = function() {
var e = document.getElementById("NavBar").getElementsByTagName("LI");
for (var i=0; i<e.length; i++) {
e[i].onmouseover=function() {
this.className=" IEhover";
}
e[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" IEhover\\b"), "");
}
}
}
if (window.attachEvent) {window.attachEvent("onload", IEhover)};
//--><!]]></script>

<link rel="shortcut icon" href="resources/favicon.ico"/>

<script>
function uno(src,color_entrada) {
src.bgColor=color_entrada;src.style.cursor="hand";
}
function dos(src,color_default) {
src.bgColor=color_default;src.style.cursor="default";
}
</script>

<!-- <link type="text/css" href="/ConsejoProcuradores/css/custom-theme/jquery-ui-1.8.7.custom.css" rel="Stylesheet" /> -->
<link type="text/css" href="css/custom-theme/jquery-ui-1.7.3.custom.css" rel="Stylesheet" />
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.7.3.custom.min.js"></script>
<!-- <script type="text/javascript" src="/ConsejoProcuradores/js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="/ConsejoProcuradores/js/jquery-ui-1.8.7.custom.min.js"></script> -->

<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("#dialog").dialog({
modal: true,
title: "Datos de contacto",
width: 540,
minWidth: 400,
maxWidth: 650,
height: 350,
show: "fold",
hide: "scale",
autoOpen: false
});
});


function datos(id) {
var respuesta = $.ajax({
type: "POST",
data: "id="+id,
url: "DatosColegiado.php",
async: false,
}).responseText;

document.getElementById('dialog').innerHTML=respuesta;

}


</script>

</head>
<body>
<div id="page">
<div id="topnavigation">
<ul>
<li><a href="ElConsejo.html" title="El Consejo">El Consejo</a></li>
<li><a href="ElProcurador.html" title="La figura del procurador">El Procurador</a></li>
<li><a href="LosColegios" title="Los Colegios de Procuradores del Consejo">Los Colegios</a></li>
<li><a href="BusquedaColegiados.php" title="Buscador de Procuradores Colegiados">Busqueda Colegiados</a></li>
<li><a href="Enlaces.html" title="Enlaces de Interes">Enlaces</a></li>
<li><a href="Contacto.html" title="Contacto">Contacto</a></li>
<li><a href="Privada.php" title="Área Privada">Area Privada</a></li>
</ul>
</div><!-- close topnavigation div -->
<div id="header">
<div class="header_logo">
<h1>Consejo Canario</h1>
<h2>de Colegios de Procuradores</h2>
<p>Plaza de San Agustín 7. 35001 Las Palmas de Gran Canaria</p>
<div class="escudo"><a href="ElConsejo.html" title="Inicio"></a></div>
</div><!-- close header_logo div -->
</div><!-- close header div -->
<div id="treaser">
<div class="content">
<h2>Resultados de la búsqueda</h2>
<br />
<?php

error_reporting(0);
session_start();
//header('Content-Type: text/html; charset=iso-8859-1');

$vFlag = $_SESSION['sFlag'];
$nombre = addslashes($_POST['nombre']);
$colegio = $_POST['colegios'];
$partido = '99';
$select = "select concat(a.apellidos,', ',a.nombre), b.nomcolegio, c.descpartido, a.direccion, a.telefono1, a.telefono2, a.fax, a.email, a.observaciones
from colegiados a
,colegios b
,partidos c ";
$where = " where a.idpartido = c.idpartido
and c.idcolegio = b.idcolegio";

include 'conex.php';
conectarse();

if (isset($_POST['partidos'])){
$partido=$_POST['partidos'];
if ($partido=='0') {
$where=$where." and lower(concat(nombre,apellidos)) like lower('%".$nombre."%') and a.idpartido in (select idpartido from partidos where idcolegio = ".$colegio.")";
}else{
$where=$where." and lower(concat(nombre,apellidos)) like lower('%".$nombre."%') and (a.idpartido in (select idpartido from partidos where idcolegio = ".$colegio.")
and a.idpartido = (select idpartido from partidos where codpartido = '".$partido."'))";
}
}else{
$where=$where." and lower(concat(nombre,apellidos)) like lower('%".$nombre."%')";
}

$consulta=mysql_query("select concat(a.apellidos,', ',a.nombre), b.desccolegio, c.descpartido, a.idcolegiado, a.numcolegiado, a.direccion, a.telefono1, a.telefono2, a.fax, a.email, a.observaciones
from colegiados a
,colegios b
,partidos c ".$where);

// echo "<table border='0' cellpadding='0' cellspacing='0' class='tabla' onmouseover=".this.style.borderColor='#B0B0B0';." onmouseout=".this.style.borderColor='#EEEEEE';.">";
echo "<table border='0' cellpadding='0' cellspacing='0' class='tabla'>";
echo "<tr>
<th>Nombre</th>
<th>Colegio</th>
<th>Partido</th>
</tr>";

while($registro=mysql_fetch_row($consulta))
{
$colegiado=$registro[0];
$colegio=$registro[1];
$partido=$registro[2];
$idcolegiado=$registro[3];
$numcolegiado=$registro[4];
$direccion=$registro[5];
$telefono1=$registro[6];
$telefono2=$registro[7];
$fax=$registro[8];
$email=$registro[9];
$observaciones=$registro[10];

/*$registro[0]=htmlentities($registro[0]);
$registro[1]=htmlentities($registro[1]);
$registro[2]=htmlentities($registro[2]);
$registro[2]=htmlentities($registro[3]);
$registro[2]=htmlentities($registro[4]);
$registro[2]=htmlentities($registro[5]);
$registro[2]=htmlentities($registro[6]);
$registro[2]=htmlentities($registro[7]);
$registro[2]=htmlentities($registro[8]);
$registro[2]=htmlentities($registro[9]); */
?>
<tr onMouseOver="uno(this,'#5a8ae8');" onMouseOut="dos(this,'#6394F0');" bgcolor="#6394F0">
<?php
//echo "<tr>
//<a href="ElConsejo.html" title="El Consejo">El Consejo</a>
//<a href="destino.php?saludo=hola&texto=Esto es una variable texto">Paso variables saludo y texto a la página destino.php</a>
//<a href="javascript:abrir_ventana()">Abrir una nueva ventana</a>
?>
<td><a href="#" onclick="datos('<?php echo $idcolegiado; ?>'); jQuery('#dialog').dialog('open'); return false"><?php echo $colegiado."</a></td>"; ?>

<?php echo "<td>".$colegio."</td>
<td>".$partido."</td>
</tr>";


}
echo "</table>";
?>

<div id="dialog">
<p>Nombre: <?php echo $colegiado ?></p>
<p>Dirección: </p>
<p>Teléfono: </p>
<p>Fax: </p>
<p>Email: </p>
<p>Observaciones: </p>
</div>

</div><!-- close content div -->
</div><!-- close treaser div -->
<div id="subpage">
<div id="subpage_entry">
<table>
<tr id="footersection">
<td width="130"><a href="ElConsejo.html" title="El Consejo">Consejo Procuradores</a></td><td width="15">|</td>
<td width="130"><a href="CodigoDeonto.html" title="Código Deontológico">Codigo Deontologico</a></td><td width="15">|</td>
<td width="130"><a href="BusquedaColegiados.php" title="Búsqueda Colegiados">Busqueda Colegiados</a></td><td width="15">|</td>
<td width="130"><a href="Privada.php" title="Área Privada">Area Privada</a></td><td width="15">|</td>
<td width="130"><a href="Contacto.html" title="Contacto">Contacto</a></td>
</tr>
</table>
</div><!-- close subpage_entry div -->
</div><!-- close subpage div -->
</div><!-- close page div -->
</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema PHP/JQUERY/AJAX Internet Explorer 7

Publicado por Alberto (3 intervenciones) el 01/02/2011 18:03:11
Por cierto he olvidado un detalle importante, lo que no funciona es el modal dialog de jquery que tengo incluído, la búsqueda y todo eso lo hace correctamente.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema PHP/JQUERY/AJAX Internet Explorer 7

Publicado por nkox (13 intervenciones) el 01/02/2011 22:15:54
Hola

Prueba cambiando la versión de la librería JQuery de 1.3.2 a 1.4.2 (ó 1.4.4 que es la última) (y obviamente la versión del jquery-ui).

En cuanto a tu código de javascript y como buenas prácticas

1) siempre coloca el atributo type
<script type="text/javascript">
//....
</script>

2) coloca tu código javascript al final de todo y antes de cerrar el tag <body>
...
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
alert('hola');
</script>
</body>

3) en cuanto a JQuery utiliza
a) $(document).ready(function() {
//....
}

o la versión resumida
$(function() {
//....
})

en vez de
jQuery(document).ready(function(){
//....
}

b) utiliza $("#id_del_elemento").nombre_funcion en vez de jQuery("#id_del_elemento").nombre_funcion

c) tu función datos podrías cambiarla a:
function datos(id) {
$.ajax({
type: "POST",
data: "id="+id,
url: "DatosColegiado.php",
async: false,
success: function(data){
$("#dialog").html(data);
}
});
}

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema PHP/JQUERY/AJAX Internet Explorer 7

Publicado por Alberto (3 intervenciones) el 01/02/2011 23:39:31
Nkox, menudo crack estás hecho. Lo cuento por si a alguien más le sirve de ayuda.

1.) Problema con la versión del jquery no era porque lo había probado con ambos y en los dos pasaba lo mismo.

2.) He seguido todas tus indicaciones y ha funcionado perfectamente, cambiando el código de las funciones de javascript.

3.) Seguiré tus consejos de colocación de código y esas cosas que me has dicho.

MUCHAS GRACIAS POR TU AYUDA, estaba desesperado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema PHP/JQUERY/AJAX Internet Explorer 7

Publicado por JCRR (1 intervención) el 15/06/2011 02:41:20
Gracias a mi tambien me resulto!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar