Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    160

    Ciclare su campi con il DOM (domanda tosta)

    ciao a tutti,
    di seguito trovate il codice che genera una serie di checkbox.
    Dovrei riuscire a inserire un azione su ciascuna di queste (ad es. chiamare una funzione sull'evento onclick) però ho una serie di problemi: infatti non riesco a fare un ciclo su tutte quelle generate e non riesco a eseguire la funzione che sto cercando di chiamare.

    Tenete presente che il tutto deve necessariamente essere eseguito lato client.
    Grazie pe le eventuali risposte
    ------
    <html>
    <head>
    <script language="JavaScript" type="text/javascript">
    var i=0;
    function addRow(id){
    var tbody = document.getElementById
    (id).getElementsByTagName("TBODY")[0];
    var row = document.createElement("TR")
    var td = document.createElement("TD")

    var testo=document.createTextNode("Campo No. "+i);
    var input=document.createElement("input");
    input.setAttribute('type','checkbox');
    input.setAttribute('name','elemento'+i);
    input.setAttribute('value','nome_funzione()');

    tbody.appendChild(row);
    row.appendChild(td);
    td.appendChild(testo)
    td.appendChild(input)
    i++;
    }

    </script>
    </head>
    <body>




    Add row
    <table id="myTable" cellspacing="0" border="1">
    <tbody>
    <tr>
    <td>descrizione descrizione descrizione descrizione </td>
    </tr>
    </tbody>
    </table>

    </body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    non ho capito se devi gestire l' onclick in fase di creazione o a posteriori
    qui un esempio
    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    160
    Grazie per la risposta.
    non ho capito se devi gestire l' onclick in fase di creazione o a posteriori
    Quello che vorrei realizzare è:
    - generare un serie di checkbox attraverso il mio pulsante (ed è quello che fa lo script che ho postato)
    - successivamente dovrei riuscire a 'catturare' l'onclick che potrebbe provenire da una qualsiasi di queste checkbox in quanto selezionta dall'utente.

    Spero di essermi spiegato ma dato l'orario magari sono stato di nuovo poco chiaro
    Ora vado a studiarmi quanto presente nel tuo link

    ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    160
    Ho visto l'esempio del link: molto interessante! Ti propongo una variante sul tema.
    Supponiamo di mettere dentro al tuo codice un contatore, come si potrebbe catturare anche il contatore stesso sulla chiamata della funzione?
    Sarebbe la soluzione del mio problema

    -------
    var i=0;
    function appendi(esempio){
    var nomeOggettoPadre=document.getElementById(esempio)

    var Label= document.createTextNode("argomento "+i)
    var Testo = document.createElement('input');
    Testo.setAttribute('type','checkbox')
    Testo.setAttribute('name','item'+i)
    var nomeOggetto = document.createElement('DIV');
    nomeOggetto.appendChild(Label)
    nomeOggetto.appendChild(Testo)

    var nomeOggetto = document.createElement('DIV');

    nomeOggetto.appendChild(Label)
    nomeOggetto.appendChild(Testo)
    i++;


    if(nomeOggetto.addEventListener) nomeOggetto.addEventListener("click",clicca,false) ; // mozilla &amp; co.
    else if(nomeOggetto.attachEvent) nomeOggetto.attachEvent("onclick", clicca); // IE
    else alert('funzione non supportata dal browser in uso')

    nomeOggettoPadre.appendChild(nomeOggetto);

    }
    </SCRIPT>

    <META http-equiv=Content-Type content="text/html; charset=windows-1252">
    <META content="MSHTML 6.00.2900.2523" name=GENERATOR></HEAD>
    <BODY>
    <DIV id=box>box</DIV>appendi a box
    </BODY></HTML>

    ----------

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.