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

    Chiamare una funzione tramite evento onclick di un bottone creato in modo dinamico.

    Ciao a tutti. Non riesco a capire perchè la funzione non viene chiamata al click del bottone creato in modo dinamico. Ho preso una parte di codice, cosi da poter vedere meglio il problema dove sta.
    Ho messo una variabile definita prima, perche nel codice che sto scrivendo mi serve una variabile che abbia diverso valore a seconda di una determinata scelta.
    Spero mi sappiate dare una mano.

    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body onload="avvia()">
    <script language="JavaScript" type="text/javascript">
    <!--
    var i=5;


    function Premo(a){
    if(a==5)window.alert("funzione chiamata");
    }


    function avvia(){
    var bottone = document.createElement("input");
    bottone.setAttribute('id', "bot");
    bottone.setAttribute('type', "button");
    bottone.setAttribute('value', "Chiama Funzione");
    bottone.setAttribute('onclick', "Premo("+i+")");
    document.getElementById("pagina").appendChild(bott one);
    }


    //-->
    </script>


    <div id="pagina"></div>




    </body>
    </html>

    Il problema è che la funzione non viene chiamata. Potete darmi una mano ed eventualmente dirmi se ci sono errori nel codice?
    Vi ringrazio in anticipo.
    Buona serata.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    Prova cosi bottone.onclick=function(){Premo(i)}; togliendo il relativo setAttribute che per gli eventi non è il massimo oppure se non funziona prova attachEvent/addEventListener
    if(bottone.attachEvent)bottone.attachEvent('onclick',function(e){Premo(i);})
    else if(bottone.addEventListener)bottone.addEventListener('click',function(e){Premo(i);},false)

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Funziona alla perfezione. Grazie mille davvero. Non ci sarei mai arrivato perche non conoscevo quel metodo di chiamata.
    Grazie ancora e buona serata.

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.