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

    Aggiungere elemento con un click

    Ciao a tutti, come da titolo avrei bisogno di aggiungere un elemento con un click. Mi spiego meglio: ho un form che contiene varie righe. Quella che mi interessa riguarda una input type="text" e un'immagine. Ogni volta che clicco l'immagine essa dovrebbe stamparmi una nuova riga (input + img). Ho visto che con document.getElementById().innerHTML non è possibile aggiungere degli elementi, quindi mi chiedevo come fare. Ho provato con document.createElement ma devo aver fatto su parecchi casini (è la prima volta che faccio una cosa del genere) eheh.. Vi posto il codice, non mettetevi le mani nei capelli per favore.

    codice:
    function new_line(id)
    			{
    				var el	= document.getElementById(id);
    				
    				var div	= document.createElement("div");
    					
    				var img	= document.createElement("img");
    					img.src		= "#";
    					img.onClick	= "new_line(id)";
    
    				div.innerHTML = img;					
    				
    				var inp	= document.createElement("input");
    
    				el.innerHTML += div;
    			}
    Quando clicco sul pulsante che dovrebbe stampare una nuova riga ottengo questa scritta: [object HTMLDivElement]. Come posso risolvere?

  2. #2

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prendi spunto da qui
    document.getElementById().innerHTML non è possibile aggiungere degli elementi... ma questo dove l'hai letto, forse che sia sconsigliato, meglio creare e appendere gli oggetti.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Ti ringrazio, è ciò che cercavo! Però sono riuscito ad aggiungere gli elementi, ma non ad assegnare un evento all'immagine... devo fare attachEvent, no? Mi scriveresti un esempio di come si passa una funzione in questo modo per favore?

  5. #5
    Risolto, bastava fare oggetto.setAttribute("onclick", "nome_funzione('"+variabile+"')"); (nel caso servisse a qualcuno).

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.