Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093

    [dom] qualcuno mi salvi

    ho notato ke è la 200 domanda ke faccio su questo maledetto dom

    in ogni caso.... ciancio alle bande, ho una tabella con id 'excel', questa tabella contiene due righe, io voglio che mi riempia la tabella con righe uguali alla seconda ma con il contenuto che voglio io.....

    ogni cella della riga (parlo sempre della seconda riga) ha un id distinto, nella prima cella ci voglio un numero progressivo, nelle altre dei numeri che calcolo io

    postatemi un po' di codice please
    js non lo capisco proprio :master:

  2. #2
    davvero non si capisce molto da quello che hai scritto... :|

  3. #3
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    whaz

    codice:
    tabella [id=excell]
    -- riga 1 [id=intestazione]
    -- riga 2 [id=rigaModello]
    ----- campo 1 [id=i]
    ----- campo 2 [id=x]
    ----- campo3 [id=fx]
    ----- campo4 [id=area]
    questa è la tabella che già ho con tutta la formattazione ecc, io voglio modificare questa tabella e ottenere questo:

    codice:
    tabella [id=excell]
    -- riga 1 [id=intestazione]
    -- riga 2 [id=riga1]
    ----- campo 1 [id=i] <== numero progressivo
    ----- campo 2 [id=x] <== un valore che calcolo tramite un'espressione
    ----- campo3 [id=fx] <== altro valore calcolato
    ----- campo4 [id=area] <== me lo calcolo anche questo
    -- riga 3 [id=riga2]
    ----- campo 1 [id=i] <== numero progressivo
    ----- campo 2 [id=x] <== un valore che calcolo tramite un'espressione
    ----- campo3 [id=fx] <== altro valore calcolato
    ----- campo4 [id=area] <== me lo calcolo anche questo
    -- riga 4 [...]
    ecc...
    il numero di righe finale è contenuto in una variabile n, il valore delle singole celle me lo calcolo ogni volta.
    How can i do?
    Il mio problema è il dom, una volta che leggo il riferimento alla prima riga con getElementById poi dovrei clonarla giusto? dovrei assegnare a ogni campo della riga un valore e in fine con appendChild dovrei aggiungere la riga alla tabella, ripeto quest'operazione n volte.... solo che appena scrivo un metodo del dom sia explorer che mozilla fanno i capricci

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    311
    guarda questo
    codice:
    <script language="JavaScript"> 
    var n=2; //numero di righe da aggiungere
    function aggiungi(){
     var mod=document.getElementById("rigamodello");
     var copia=new Array(n);
     for(j=0;j<n;j++) {
       copia[j]=mod.cloneNode(true);
       copia[j].childNodes[0].id=j; // numero progressivo
       copia[j].childNodes[1].id="x"+j;  //sostituire con le espressioni desiderate
       copia[j].childNodes[2].id="fx"+j;
       copia[j].childNodes[3].id="area"+j;
       mod.parentNode.appendChild(copia[j]);  
     }
    }
    window.onload=aggiungi;
    </script>

  5. #5
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    quasi perfetto!!!

    ma ora sorge solo un piccolo problema, quando io richiamo una seconda volta la funzione ad esempio cambiando n mi deve visualizzare un numero di righe diverso, invece me le aggiunge.
    Come si può fare?

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    311
    così?
    codice:
    function aggiungi(n){
     var mod=document.getElementById("rigamodello");
     var tab=document.getElementById("excel");
     for(j=tab.rows.length-1;j>=2;j--)
       tab.deleteRow(j);
     var copia=new Array(n);
     for(j=0;j<n;j++) {
       copia[j]=mod.cloneNode(true);
       copia[j].childNodes[0].id=j; // numero progressivo
       copia[j].childNodes[1].id="x"+j;  //sostituire con le espressioni desiderate
       copia[j].childNodes[2].id="fx"+j;
       copia[j].childNodes[3].id="area"+j;
       mod.parentNode.appendChild(copia[j]);  
     }
    }
    </script>

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.