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

    Creare una tabella col DOM

    Salve a tutti, navigando sul forum ho trovato un bel programmi scritto in javascript che però non riesco a far funzionare, ve lo posto qua perche la discussione dove l'ho trovato è già chiusa. In pratica questa funzione dovrebe creare in automatico una tabella con n-righe e n-colonne e impostando altri parametri. quando provo ad aprire il file (sia con IE che con Firefox) mi compare una pagina tutta bianca. Premetto che solo in questi giorni mi stò facendo una cultura di javascript e che magari la soluzione è una stupidagine.
    Come faccio a creare tipo 10 righe e 10 colonne???????

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Pagina senza titolo</title>
        
    </head>
    <body>
        <script language="JavaScript" type="text/javascript">
    <!--
    function GeneraTabella() {
    if (document.createElement && document.getElementsByTagName) {
    form=document.mioform;
    
    if (form.attiva.value=='Crea!') {
    form.attiva.value='Elimina!';
    nrighe=form.nrighe.value;
    ncolonne=form.ncolonne.value;
    larghezza=form.vlarghezza.value+form.tlarghezza[form.tlarghezza.selectedIndex].value;
    if (form.tlarghezza[form.tlarghezza.selectedIndex].value=='px')
    larghezzacella=Math.floor(form.vlarghezza.value/ncolonne)+'px';
    else
    larghezzacella=Math.floor(form.vlarghezza.value/ncolonne)+'%';
    bordo=form.bordo.value+'px';
    marginecelle=form.mcelle.value;
    spaziocelle=form.scelle.value;
    
    
    tabella=document.createElement('TABLE');
    corpo=document.getElementsByTagName('BODY').item(0);
    corpotab=document.createElement('TBODY');
    
    for (i=0; i<nrighe; i++) {
    riga=document.createElement('TR');
    for (j=0; j<ncolonne; j++) {
    cella=document.createElement('TD');
    cella.setAttribute('width',larghezzacella);
    attributo=prompt('Caratteristiche della '+(j+1)+'ª cella della '+(i+1)+'ª riga.\nTesto:');
    testo=document.createTextNode(attributo);
    cella.appendChild(testo);
    attributo=prompt('Sfondo:');
    cella.setAttribute('bgColor',attributo);
    attributo=prompt('Allineamento:');
    cella.setAttribute('align',attributo);
    attributo=prompt('Altezza:');
    cella.setAttribute('height',attributo);
    riga.appendChild(cella);
    }
    corpotab.appendChild(riga);
    }
    
    tabella.setAttribute('width',larghezza);
    tabella.setAttribute('border',bordo);
    tabella.setAttribute('cellSpacing',spaziocelle);
    tabella.setAttribute('cellPadding',marginecelle);
    tabella.appendChild(corpotab);
    corpo.appendChild(tabella);
    }
    
    else {
    form.attiva.value='Crea!';
    document.getElementsByTagName('BODY').item(0).removeChild(tabella);
    }	
    }
    
    else alert('Spiacente, il tuo browser non supporta lo standard DOM.');
    }	
    //-->
    </script>
        
    </body>
    </html>
    Seconda domanda: come faccio ad aggiungere SOLO in determinate celle (informazioni prese da un file xml) una immagine con un link????

  2. #2
    err io non vorrei dire, ma mi sa che prima di usare JS dovresti almeno sapere cosa è una funzione e cosa significa chiamare una funzione...

  3. #3
    Inizio a colmare le lacune di JS ma ancora ho dei problemi. Ho copiato la mia funzione in un file .js esterno e lo richiamo dal file html, per avere un codice più leggibile, usando:

    codice:
    <script type="text/javascript">
      GeneraTabella();
    </script>
    Ma IE mi da un errore alla riga 6 in cui mi dice che il form.attiva è nullo o non è un oggetto. Insieme a GeneraTabella(); devo inserire degli input??? e in caso dove li metto??

    Help me.

  4. #4
    scusa, ma dove hai preso questo script non indicava quello di cui avevi bisogno? Il codice sembra indicare che lo script è costruito per prendere in ingresso i dati inseriti in una Form con name = "mioform".

  5. #5
    Rimando il link della pagina del forum:

    http://forum.html.it/forum/showthrea...hreadid=430151

    Inoltre gli input (numero celle, numero colonne etc etc) li devo leggere da un file xml piuttosto che inserirli in un form

  6. #6
    Dato che non mi sembra che l'esempio sia più funzionante lo posto qui:

    Codice PHP:
    <form name="mioform">
        


            
    NRighe : <input type="text" name="nrighe" />
        </
    p>
        


            
    NColonne : <input type="text" name="ncolonne" />
        </
    p>
        


            
    Larghezza: <input type="text" name="vlarghezza" /> <select name="tlarghezza">
                <
    option value="px">px</option>
                <
    option value="%">%</option>
            </
    select>
        </
    p>
        


            
    Bordo: <input type="text" name="bordo"/>
        </
    p>
        


            
    Margine Celle: <input type="text" name="mcelle"/>
        </
    p>
        


            
    Spazio Celle: <input type="text" name="scelle"/>
        </
    p>
        <
    input type="button" name="attiva" value="Crea!" onclick="GeneraTabella(); return false;"/>
    </
    form

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 © 2026 vBulletin Solutions, Inc. All rights reserved.