Visualizzazione dei risultati da 1 a 2 su 2

Discussione: DOM aggiunta riga

  1. #1

    DOM aggiunta riga

    Perchè questo codice mi funziona solo su firefox e su IE no ?
    Dovrebbe seguire tutti gli standard del W3C a proposito del DOM e invece nisba.
    Su Mozzilla mi aggiunge le righe con tutti i crismi, mentre su IE, pur non segnalandomi errori, la tabella 'padre' rimane vuota, o meglio senza le righe che vado ad aggiungere chiamando la funzione. Ecco il codice della funzione:

    [code]
    <script type="text/javascript" language="javascript">


    var a = 1;
    var ultima = "";


    function crea_riga() {

    var padre = document.getElementById("tab_calendario");
    var testo = document.createTextNode(inside);
    var riga=document.createElement('tr');
    padre.appendChild(riga);

    var cella1 = document.createElement('td');
    riga.appendChild(cella1);

    testo1 = document.createTextNode(a);
    cella1.appendChild(testo1);

    var cella2 = document.createElement('td');
    riga.appendChild(cella2);

    testo2 = document.createTextNode(" ");
    cella2.appendChild(testo2);

    var cella3 = document.createElement('td');
    riga.appendChild(cella3);

    nome1 = "da_usc" + a;
    input1 = document.createElement("input");
    input1.setAttribute('name', nome1);
    input1.setAttribute('type', 'text');
    input1.setAttribute('size', '8');
    cella3.appendChild(input1);

    var cella4 = document.createElement('td');
    riga.appendChild(cella4);
    var imma = document.createElement('IMG');
    percorso = "images/puls_calendario.jpg";
    imma.setAttribute('src', percorso);
    imma.setAttribute('border', '0');
    funzione = "window.open('calendario.php?campo=document.rob_cr ea_nuova."+nome1+"&valore=document.rob_crea_nuova. "+nome1+".value', '', 'width=350, height=230, top=40, left=40, left=10, resizable=no, menubar=no, toolbar=no, location=no, scrollbars=no, status=no');"
    imma.setAttribute('onclick', funzione);
    cella4.appendChild(imma);

    var cella5 = document.createElement('td');
    riga.appendChild(cella5);

    testo5 = document.createTextNode(" ");
    cella5.appendChild(testo5);

    var cella6 = document.createElement('td');
    riga.appendChild(cella6);

    nome2 = "da_agg" + a;
    input2 = document.createElement("input");
    input2.setAttribute('name', nome2);
    input2.setAttribute('type', 'text');
    input2.setAttribute('size', '8');
    cella6.appendChild(input2);

    var cella7 = document.createElement('td');
    riga.appendChild(cella7);
    var imma2 = document.createElement('IMG');
    percorso = "images/puls_calendario.jpg";
    imma2.setAttribute('src', percorso);
    imma2.setAttribute('border', '0');
    funzione2 = "window.open('calendario.php?campo=document.rob_cr ea_nuova."+nome2+"&valore=document.rob_crea_nuova. "+nome2+".value', '', 'width=350, height=230, top=40, left=40, left=10, resizable=no, menubar=no, toolbar=no, location=no, scrollbars=no, status=no');"
    imma2.setAttribute('onclick', funzione2);
    cella7.appendChild(imma2);

    a++;

    }
    </script>
    [code]

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    specifica un tbody nella tabella ed appendi ad esso i tr

    alcuni browser, da un punto di vista DOM, considereranno il tbody presente anche se assente nell' xhtml,
    per normalizzare la situazione e' consigliabile specificare un tbody nell' xhtml e appendere ad esso


    poi,
    i gestori eventi non sono attributi,
    non puoi settarli con setAttribute

    ricerca, se n' e' parlato svariate volte
    ciao

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.