Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/12/2006, 08:19
drwizard
 
Fecha de Ingreso: marzo-2006
Mensajes: 4
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Problemilla con respuesta AJAX y Javascript

Ok, aqui os pongo el codigo:

Tipica funcion AJAX:
Código:
function AJAX_Object() { 
	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; 
}

var ajax = AJAX_Object();

function AJAX_getURL(url) {
	ajax.open("GET", url, true);
	ajax.onreadystatechange = AJAX_ResFunc;
	ajax.send(null);
	}
En esta función es donde recojo el resultado de la busqueda (la tipica de AJAX) que se muestra en index.php:
Código:
		
function AJAX_ResFunc() {
  if (ajax.readyState == 4) {
	if (ajax.status == 200) {
		var response = ajax.responseText;
		document.getElementById('contenido').innerHTML = (response);
		}
	}
	// Loading...
	else {
		document.getElementById('contenido').innerHTML = 'Conectando con la Base de datos...';
		}
}
Formulario de busqueda (index.php):
Código HTML:
<form method="post" action="#">
Circuito:
<select name="circuito">
   <option value="ID_1">Circuito 1</option>
</select>
Coche:
<select name="coche">
   <option value="ID_1">Coche 1</option>
</select>
<!-- llamada a AJAX -->
<input type="button" onclick="AJAX_getURL('search.php?circuito=' + document.getElementById('circuito').value + '&coche=' + document.getElementById('coche').value)" value="Buscar" />
</form>
<!-- Div donde se mostrara el resultado de la busqueda -->
<div id="contenido"></div> 
Basicamente, lo que hace eso es que busca en la base de datos si hay algun "setting" para el coche y circuito seleccionado, y devuelve esta tabla (search.php):
Código HTML:
<table>
  <tr>
    <th>Archivo:</th>
    <th>Subido por:</th>
  </tr>
  <tr>
    <td><span onmouseover="this.T_BGCOLOR='#FFFFFF';this.T_BORDERCOLOR='#FF0000';this.T_WIDTH=400; return escape('probando tooltip')"><a href="settings/<?= $row['set_file'] ?>"><?= $row['set_file'] ?></a></span></td>
    <td><?= $row["driver_nick"] ?></td>
  </tr>
  <tr>
    <th colspan="2">Comentario:</th>
  </tr>
  <tr>
    <td colspan="2"><?= $row["set_comment"] ?></td>
  </tr>
</table> 
Aqui es donde tengo el problema, si os fijais, hay un SPAN con un onMouseOver que ejecuta codigo javascript, es el que hace aparecer el tooltip. El problema es,que como eso se muestra a traves de la llamada de AJAX, no ejecuta ese codigo javascript en questión, hay alguna manera de poder ejecutarlo? me han hablado de la funcion EVAL de javascript, pero nose muy bien como funciona.

Este es el SRC del archivo JS necesario para que funcione el tooltip, y que segun su autor debe ir despues de la etiqueta </body> para que funcione. Lo tengo puesto en el index.php.
Código HTML:
<script language="JavaScript" type="text/javascript" src="wz_tooltip.js"></script> 
Si no veis algo claro comentarmelo, muchas gracias por adelantado.

Saludos.