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

    Problema con firefox

    In questa pagina http://www.rivs.it/preventivo/ uso il seguente codice per aggiungere dinamicamente dei campi di un modulo, con Explorer funziona, con Safari anche, con firefox invece i campi non vengono aggiunti... come mai??

    Codice PHP:

    <script language="JavaScript" type="text/javascript"
    <!-- 
    var 
    num=2
    function 
    add_me() 

        if(
    document.createElement && document.getElementById && document.getElementsByTagName
        { 
            var 
    oTr=document.createElement("TR"); 
            var 
    oTd1=document.createElement("TD"); 
            
    oTd1.setAttribute("align""left");
            var 
    oTd2=document.createElement("TD");
            
    oTd2.setAttribute("align""left"); 
            var 
    oText=document.createTextNode("VEICOLO "+num
            var 
    oField=document.createElement("SELECT");
             
            
    oField.setAttribute("name","veicolo"+num); 
            
            
    nuovo1 = new Option('Auto','auto')
            
    nuovo2 = new Option('Moto','moto')
            
    nuovo3 = new Option('Ciclomotore','ciclomotore')
            
    nuovo4 = new Option('Autocarro','autocarro')
            
    nuovo5 = new Option('Camper','camper')
            
    nuovo6 = new Option('Motocarro','motocarro')
            
            
    oField.add(nuovo11);
            
    oField.add(nuovo22);
            
    oField.add(nuovo33);
            
    oField.add(nuovo44);
            
    oField.add(nuovo55);
            
    oField.add(nuovo66);

            
    oTd1.appendChild(oText); 
            
    oTd2.appendChild(oField); 
            
            
    oTr.appendChild(oTd1); 
            
    oTr.appendChild(oTd2); 
             

            
    document.getElementById('mytable').getElementsByTagName('tbody')[0].appendChild(oTr); 
            
    document.preventivo.quantita.value num;
            
    num++ 
        } 


    function 
    delete_me() 

        if(
    document.removeChild && document.getElementById && document.getElementsByTagName
        { 
            if(
    num>2
            { 
                var 
    tb=document.getElementById('mytable').getElementsByTagName('TBODY')[0]; 
                var 
    lastTr=tb.getElementsByTagName('TR')[(tb.getElementsByTagName('TR').length)-1
                
    document.preventivo.quantita.value = (num-2);
                
    tb.removeChild(lastTr); 
                
    num-- 
                
            } 
        } 

    //--> 
    </script> 
    Www.Spritzlandia.it - Community dedicata agli amanti del famoso aperitivo. Amici, Blog, Chat, annunci gratis. Eventi in Pub, Discoteche e Pizzerie a Padova, Venezia, Treviso.

  2. #2
    fai:

    oField.add(nuovo1, null);
    oField.add(nuovo2, null);
    oField.add(nuovo3, null);
    oField.add(nuovo4, null);
    oField.add(nuovo5, null);
    oField.add(nuovo6, null);
    I DON'T Double Click!

  3. #3
    così facendo non funziona neanche con internet explorer..
    Www.Spritzlandia.it - Community dedicata agli amanti del famoso aperitivo. Amici, Blog, Chat, annunci gratis. Eventi in Pub, Discoteche e Pizzerie a Padova, Venezia, Treviso.

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da Asia82
    così facendo non funziona neanche con internet explorer..
    con l'aggiunta suggerita mi funziona con IE8, Opera e Firefox.

    Ho messo però:

    <table id="mytable"><tbody></tbody></table>
    Pietro

  5. #5
    Guardate, io, di solito, uso le funzioni DOM standard che funzionano praticamente allo stesso modo su tutti i browser (vabbè in IE bisogna inseire gli elementi in un qualche livello del Document prima di manipolarli, mentre negli altri browser no, ma è davvero l'unica differenza sostanziale che ho visto).

    Se vuoi usare queste, dovresti fare:

    Codice PHP:
    //Quello che c'era prima
            
    nuovo1 document.createElement('option'); 
            
    nuovo1.appendChild(document.createTextNode('Auto'));
            
    nuovo1.value 'auto'
            
    nuovo2 document.createElement('option'); 
            
    nuovo2.appendChild(document.createTextNode('Moto'));
            
    nuovo2.value 'moto'
            
    nuovo3 document.createElement('option'); 
            
    nuovo3.appendChild(document.createTextNode('Ciclomotore'));
            
    nuovo3.value 'ciclomotore'
            
    nuovo4 document.createElement('option'); 
            
    nuovo4.appendChild(document.createTextNode('Autocarro'));
            
    nuovo4.value 'autocarro'
            
    nuovo5 document.createElement('option'); 
            
    nuovo5.appendChild(document.createTextNode('Camper'));
            
    nuovo5.value 'camper'
            
    nuovo6 document.createElement('option'); 
            
    nuovo6.appendChild(document.createTextNode('Motocarro'));
            
    nuovo6.value 'motocarro'

            
    oField.appendChild(nuovo1);
            
    oField.appendChild(nuovo2);
            
    oField.appendChild(nuovo3);
            
    oField.appendChild(nuovo4);
            
    oField.appendChild(nuovo5);
            
    oField.appendChild(nuovo6); 
    //Quello che sta dopo 
    Se altrimenti vuoi usare questo devi dare un'occhiata alla documentazione.

    http://www.w3schools.com/htmldom/met_select_add.asp
    I DON'T Double Click!

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.