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

    Creazione di elementi con DOM

    Ciao a tutti, sono un neofita del javascript.

    Sto scrivendo una pagina php che mi permette di creare una tabella nel database con numero e tipo di campi arbitrario.

    Siccome il codice php è già parecchio complicato di suo volevo implementare l'aggiunta o la rimozione di campi tramite javascript e DOM.
    Per fare questo ho scritto questo codice (per ora studiato solo x IE):
    codice:
    var nFieldsCount = 5;
    function crea_campo() {
    	if(document.getElementById)
    	{
    		var tr = document.createElement('TR');
    		var td = document.createElement('TD');
    		var input = document.createElement('INPUT');
    		input.setAttribute('type', 'text');
    		input.setAttribute('name', 'name_item'+nFieldsCount);
    		td.appendChild(input);
    		tr.appendChild(td);
    
    		td = document.createElement('TD');
    		var sel = document.createElement('SELECT');
    		sel.setAttribute('name', 'type_item'+nFieldsCount);
    		var option, i=0;
    		var types = new Array("VARCHAR", "TINYINT", "TEXT", "DATE", "SMALLINT", "MEDIUMINT", "INT", "BIGINT", "FLOAT", "DOUBLE", "DECIMAL", "DATETIME", "TIMESTAMP", "TIME", "YEAR", "CHAR", "TINYBLOB", "TINYTEXT", "BLOB", "MEDIUMBLOB", "MEDIUMTEXT", "LONGBLOB", "LONGTEXT", "ENUM", "SET");
    		while(i < types.length) {
    			option = document.createElement('OPTION');
    			option.setAttribute('value', types[i]);
    			sel.appendChild(option);
    			i++;
    		}
    		td.appendChild(sel);
    		tr.appendChild(td);
    
    		td = document.createElement('TD');
    		input = document.createElement('INPUT');
    		input.setAttribute('type', 'text');
    		input.setAttribute('name', 'length_item'+nFieldsCount);
    		input.setAttribute('value', 255);
    		td.appendChild(input);
    		tr.appendChild(td);
    		
    		var table = document.getElementById('detailform');
    		table.appendChild(tr);
    
    		nFieldsCount++;
    	}
    }
    Il problema è: NON FUNZIONA!!
    IE esegue il codice senza ritornare alcun errore ma graficamente non fa nulla!

    P.S. I form sono inseriti in una struttura tabella del tipo

    <table id='detailform'>
    <tr>
    <td><input nome campo></td>
    <td><select tipi campo></td>
    <td><input dimensione campo></td>
    </tr>
    </table>


    AIUTATEMI PLEASE!!!!!!!!!!

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    proprio ieri ho segnalato questa pagina per un problema simile,
    prova il codice
    ciao

  3. #3
    Ho fatto una marea di prove e sono giunto alla conclusione che il DOM (o almeno IE) è allergico ai tag TABLE e derivati, che semplicemente non appaiono...

    Grazie cmq, proverò a trovare una soluzione alternativa

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se non sbaglio vi sono metodi specifici(insertRow, insertCell) per lavorare con le tabelle,
    prova con qualche ricerca mirata su google
    ciao

  5. #5
    GRANDE!!!!!!!!!!!!!!!!!!!!!!!!!!

    A quanto pare il metodo che avevo trovato andava bene x netscape ma non per IE (quand'è che si decideranno a tenere uno standard?).

    Riconoscendo il browser utilizzato ora funziona x entrambi!! :mavieni:

    Grazie ancora, stavo impazzendo! :metallica

  6. #6
    scusate se riapro questo thread ma mi dite come si fa per dare il testo alle option del select!!???

    Thanks!
    www.skorpiograph.com - [ PORTFOLIO ]
    ...se vuoi essere aiutato devi aiutare chi ti aiuta ad aiutarti!!!

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    Originariamente inviato da CeMax-2000
    scusate se riapro questo thread ma mi dite come si fa per dare il testo alle option del select!!???

    Thanks!
    FOrse e meglio se apri una nuova discussione

  8. #8
    Originariamente inviato da Dennis
    FOrse e meglio se apri una nuova discussione
    ......ed io che pensavo già alla soluzione!!


    p.s. perchè dennis dovrei aprirne un'altra?????
    www.skorpiograph.com - [ PORTFOLIO ]
    ...se vuoi essere aiutato devi aiutare chi ti aiuta ad aiutarti!!!

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.