Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/12/2006, 02:48
vengava
 
Fecha de Ingreso: agosto-2006
Mensajes: 110
Antigüedad: 18 años, 3 meses
Puntos: 1
Re: Problemilla con respuesta AJAX y Javascript

De todas formas, es posible que lo puedas hacer con algo así, escribiendo la tabla en la primera página (la que hace la llamada AJAX) y ocultándola con 'display:none'.
Para los campos variables pones divs vacíos:

Código HTML:
<table id="tabla_oculta" style="display:none">
  <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 tooltip()">
            <div id="set_file"></div>                                                
          </span>
    </td>
    <td>
      <div id="driver_nick"></div>
    </td>
  </tr><tr><th colspan="2">Comentario:</th></tr>
  <tr>
    <td colspan="2">
      <div id="set_comment"></div>
    </td>
  </tr>
</table> 
Luego, en la misma página (la que hace la llamada AJAX) defines una función javascript que llamarás desde search.php.
Esta función rellenará esos divs con los datos que vas a recoger del PHP, más o menos así:

Código HTML:
<script>
//esto devolvería el texto del onmouseover
function tooltip(){
  return escape(texto_tooltip);
}
//Esta función es llamada por search.php
//Rellena los divs y luego muestra la tabla oculta
function mostrarTabla(set_file, driver_nick,set_comment){
  document.getElementById("set_file").innerHTML = "<a href=\"settings/" + set_file + "\">" + set_file + "</a>";
  document.getElementById("driver_nick").innerHTML = driver_nick;
  document.getElementById("set_comment").innerHTML = set_comment;
  document.getElementById("tabla_oculta").style.display = "block";
}
</script> 

Luego, en el PHP que cargas con AJAX, devuelves el javascript que asigne valor a texto_tooltip y que llame a la función que rellena los divs y muestra la tabla :
Código PHP:
//Escribes la salida del PHP como javascript
header("Content-type: text/javascript; charset=utf-8");
//Asignas la cadena que saldrá cuando se llame el onmouseover
echo "texto_tooltip = 'lo que sea';\n";
//Llamas a la función mostrarTabla con los datos que quieras
echo "mostrarTabla('$row[set_file]','$row[driver_nick]','$row[set_comment]');"
Es posible que haya errores de comillas o de otras cosas, no lo probé, pero supongo que algo parecido funcionaría.

Última edición por vengava; 13/12/2006 a las 02:58