Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [AJAX] Mostrare div onmouseover su tabella

    Salve a tutti,
    il mio problema è questo, ho una tabella e stò cercando di mostrare un DIV al passaggio del mouse su un campo di essa, ma gli effetti non sono esattamente quelli aspettati...

    vi posto il codice:

    la parte di tabella interessata:
    Codice PHP:
                <?php 
            $divName
    ='div_'.$row['CODICE'];
            
    ?>
        <th scope="row" class="<?php echo $thClass?>"> <a class="ajaxPopup" onmouseover="showCollaboratori('<?php echo $row['CODICE']?>', '<?php echo $divName?>')"  onmouseout="showCollaboratori('', '<?php echo $divName?>')" href="#"><?php echo $row['CODICE']?></a></th>
        
            <div class="ajaxPopup" id="<?php echo $divName?>" name="<?php echo $divName?>"></div>            
        
        <td class="<?php echo $tdClass?>"><?php echo $row['COLLABORATORE']?></td>
        <td class="<?php echo $tdClass?>"><?php echo $row['TELEFONO']?></td>
        <td class="<?php echo $tdClass?>"><?php echo $row['EMAIL']?></td>
    la funzione ajax:
    Codice PHP:
    function showCollaboratori(idTabledivDatagrid) {     
    if (
    idTable=="")           {                         document.getElementById(divDatagrid).innerHTML="";           document.getElementById(divDatagrid).style.display "none";           document.getElementById(divDatagrid).style.visibility "hidden";                      return;           }                    
    if (
    window.XMLHttpRequest)           {// code for IE7+, Firefox, Chrome, Opera, Safari           
    xmlhttp=new XMLHttpRequest();           }         else           {// code for IE6, IE5           
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");           }         xmlhttp.onreadystatechange=function()           {           if (xmlhttp.readyState==&& xmlhttp.status==200)             {             document.getElementById(divDatagrid).innerHTML=xmlhttp.responseText;             document.getElementById(divDatagrid).style.display "block";               document.getElementById(divDatagrid).style.visibility "visible";                         }           }         xmlhttp.open("GET","getCollaboratoriAjax.php?idTable="+idTable,true);         xmlhttp.send(); } 

    Premetto che i dati vengono estratti bene, ma su IE non funziona nulla, mentre su Firefox funziona ma solo per le righe superiori alla prima, per la prima partono una serie di chiamate alla funzione js... e si impalla.
    Avete suggerimenti??

  2. #2

  3. #3
    Ok, mi rispondo da solo, bastava mettere il div all'interno del tag th in questo modo:

    Codice PHP:
        <th scope="row" class="<?php echo $thClass?>"> <a class="ajaxPopup" onmouseover="showCollaboratori('<?php echo $row['CODICE']?>', '<?php echo $divName?>');"  onmouseout="showCollaboratori('', '<?php echo $divName?>');" href="#"><?php echo $row['CODICE']?></a>                 <div class="ajaxPopup" id="<?php echo $divName?>" name="<?php echo $divName?>"></div>                 </th>

    Invece, sapreste dirmi come ottenere che al click del link (quello che al onmouseover mi fa apparire il div), a bloccare la visualizzazione del div in modo che non mi scompaia all'onmouseout, ma magari solo dopo il click in una zona qualsiasi della pagina.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.