Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Tabella dinamica

  1. #1

    Tabella dinamica

    Ciao,
    qualcuno mi sa dire coe mai questo codice funziona con IE ed OPERA mentre con FIREFOX no?

    L'errore me lo da nella parte evidenziata (aTD has no properties ).

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

    <html>
    <head>
    <title>Gestione DOM</title>
    <style type="text/css">
    <!--
    .normal1 {font-family:tahoma;font-size:8pt;background-color:yellow}
    .normal2 {font-family:tahoma;font-size:8pt;background-color:white}
    .overTR {font-family:tahoma;font-size:8pt;background-color:blue;color:white}
    .clicked {font-family:tahoma;font-size:8pt;background-color:red;color:white}
    -->
    </style>
    <script language="JavaScript" type="text/javascript">
    <!--
    var aTR = null;
    var aTD = null;
    var aTbody = null;
    function colore_celle() {
    if(document.getElementById && document.getElementsByTagName) {
    var righe = document.getElementsByTagName("tr");
    cont=0;
    for(i=0; i < righe.length; i++)
    if (cont==0){
    righe[i].className='normal1';
    cont=1;
    }else{
    righe[i].className='normal2';
    cont=0;
    }
    }
    }
    function selectRow(aTD) {
    colore_celle();
    if (aTD.tagName == 'TD') {
    aTR = aTD.parentElement;
    //alert(aTR.rowIndex);
    aTR.className='clicked';
    aTbody = aTR.parentElement;
    document.getElementById('canc').disabled = false;
    } // if (aTD.tagName == 'TD')
    } // function selectRow(aTD)

    function _deleteRow(aTD) {
    if (aTR != null) {
    aTbody.deleteRow(aTR.rowIndex);
    aTR = null;
    aTbody = null;
    document.getElementById('canc').disabled = true;
    } else {
    alert('Cliccare la riga da cancellare');
    } // if (aTR != null)
    } // _deleteRow(aTD)
    //-->
    </script>


    </head>
    <body>
    <table summary="" cellpadding="0" onclick="selectRow(event.srcElement)">
    <tr class="normal1" >
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    </tr>
    <tr class="normal2" >
    <td>BBBBBBBBBBBBBBBBBBBBB</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    </tr>
    <tr class="normal1" >
    <td>CCCCCCCCCCCCCCCCCCCCC</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    </tr>
    <tr class="normal2" >
    <td>DDDDDDDDDDDDDDDDDDDDD</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    </tr>
    </table>


    <span style="font-family:tahoma;font-size:8pt">cliccare su una riga per attivare il bottone</style>

    <input type="button" value="Cancella Riga" id="canc" disabled onclick="_deleteRow()">

    </body>
    </html>

  2. #2
    &Egrave; un tentativo:
    codice:
    <table summary="" cellpadding="0" onclick="function(e){if (window.event) e=window.event; var srcEl = e.srcElement? e.srcElement : e.target;selectRow(srcEl);}">
    Il problema &egrave; che IE si &egrave; inventato event.srcElement, e Opera lo ha copiato.
    Tutti gli altri browsers, che sono ligi alle specifiche, no!

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  3. #3
    Purtroppo non va. Non da errori ma nemmeno da segni di vita.

  4. #4
    Fatto!
    Un consiglio: indenta il codice!
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Gestione DOM</title>
    <style type="text/css">
    <!--
    .normal1 {font-family:tahoma;font-size:8pt;background-color:yellow}
    .normal2 {font-family:tahoma;font-size:8pt;background-color:white}
    .overTR {font-family:tahoma;font-size:8pt;background-color:blue;color:white}
    .clicked {font-family:tahoma;font-size:8pt;background-color:red;color:white}
    -->
    </style>
    <script language="JavaScript" type="text/javascript">
    <!--
    var aTR = null;
    var aTD = null;
    var aTbody = null;
    function colore_celle() {
        if(document.getElementById && document.getElementsByTagName) {
            var righe = document.getElementsByTagName("tr");
            cont=0;
            for(i=0; i < righe.length; i++) {
                if (cont==0){
                    righe[i].className='normal1';
                    cont=1;
                }else{
                    righe[i].className='normal2';
                    cont=0;
                }
            }
        }
    }
    function selectRow(aTD) {
        colore_celle();
        if (aTD.tagName == 'TD') {
            aTR = aTD.parentElement ? aTD.parentElement : aTD.parentNode;
            aTR.className='clicked';
            aTbody = aTR.parentElement ? aTR.parentElement : aTR.parentNode;
            document.getElementById('canc').disabled = false;
        } 
    } 
    
    function _deleteRow(aTD) {
        if (aTR != null) {
            aTbody.deleteRow(aTR.rowIndex);
            aTR = null;
            aTbody = null;
            document.getElementById('canc').disabled = true;
        } else {
            alert('Cliccare la riga da cancellare');
        } 
    } 
    
    function action(e) {
        if (window.event) e=window.event; 
        var srcEl = e.srcElement? e.srcElement : e.target;
        selectRow(srcEl);
    }
    
    //-->
    </script>
    
    
    </head>
    <body>
    <table summary="" cellpadding="0" onclick="action(event);">
    <tr class="normal1" >
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    </tr>
    <tr class="normal2" >
    <td>BBBBBBBBBBBBBBBBBBBBB</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    </tr>
    <tr class="normal1" >
    <td>CCCCCCCCCCCCCCCCCCCCC</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    </tr>
    <tr class="normal2" >
    <td>DDDDDDDDDDDDDDDDDDDDD</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    </tr>
    </table>
    
    
    <span style="font-family:tahoma;font-size:8pt">cliccare su una riga per attivare il bottone</style>
    
    <input type="button" value="Cancella Riga" id="canc" disabled onclick="_deleteRow()">
    
    </body>
    </html>
    Provato su:
    Firefox 2.0.0.14
    IE 7
    IE 6
    IE 5.5
    Opera 9.26

    ... ho finito i browsers!


    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  5. #5
    Originariamente inviato da homezappa
    Fatto!
    Un consiglio: indenta il codice!
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Gestione DOM</title>
    <style type="text/css">
    <!--
    .normal1 {font-family:tahoma;font-size:8pt;background-color:yellow}
    .normal2 {font-family:tahoma;font-size:8pt;background-color:white}
    .overTR {font-family:tahoma;font-size:8pt;background-color:blue;color:white}
    .clicked {font-family:tahoma;font-size:8pt;background-color:red;color:white}
    -->
    </style>
    <script language="JavaScript" type="text/javascript">
    <!--
    var aTR = null;
    var aTD = null;
    var aTbody = null;
    function colore_celle() {
        if(document.getElementById && document.getElementsByTagName) {
            var righe = document.getElementsByTagName("tr");
            cont=0;
            for(i=0; i < righe.length; i++) {
                if (cont==0){
                    righe[i].className='normal1';
                    cont=1;
                }else{
                    righe[i].className='normal2';
                    cont=0;
                }
            }
        }
    }
    function selectRow(aTD) {
        colore_celle();
        if (aTD.tagName == 'TD') {
            aTR = aTD.parentElement ? aTD.parentElement : aTD.parentNode;
            aTR.className='clicked';
            aTbody = aTR.parentElement ? aTR.parentElement : aTR.parentNode;
            document.getElementById('canc').disabled = false;
        } 
    } 
    
    function _deleteRow(aTD) {
        if (aTR != null) {
            aTbody.deleteRow(aTR.rowIndex);
            aTR = null;
            aTbody = null;
            document.getElementById('canc').disabled = true;
        } else {
            alert('Cliccare la riga da cancellare');
        } 
    } 
    
    function action(e) {
        if (window.event) e=window.event; 
        var srcEl = e.srcElement? e.srcElement : e.target;
        selectRow(srcEl);
    }
    
    //-->
    </script>
    
    
    </head>
    <body>
    <table summary="" cellpadding="0" onclick="action(event);">
    <tr class="normal1" >
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    </tr>
    <tr class="normal2" >
    <td>BBBBBBBBBBBBBBBBBBBBB</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    </tr>
    <tr class="normal1" >
    <td>CCCCCCCCCCCCCCCCCCCCC</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    </tr>
    <tr class="normal2" >
    <td>DDDDDDDDDDDDDDDDDDDDD</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    <td>AAAAAAAAAAAAAAAAAAAAA</td>
    </tr>
    </table>
    
    
    <span style="font-family:tahoma;font-size:8pt">cliccare su una riga per attivare il bottone</style>
    
    <input type="button" value="Cancella Riga" id="canc" disabled onclick="_deleteRow()">
    
    </body>
    </html>
    Provato su:
    Firefox 2.0.0.14
    IE 7
    IE 6
    IE 5.5
    Opera 9.26

    ... ho finito i browsers!


    HTH
    Zappa
    Ottimo funziona davvero!

    Grazie.

  6. #6
    Originariamente inviato da magnus
    Ottimo funziona davvero!

    Grazie.
    ... ed anche su Firefox 3!
    bene ...
    Alla prossima!

    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    225
    non riesco a far funzionare la colorazione on mouseover........ .overTR


    qualcuno ha una dritta ??

    Grazie
    SAT

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.