Salve a tutti sto lavorando ad un progetto , nello specifico dopo aver creato una lista sotto una text area ho bisogno che la text area sopra si popoli quando venga cliccata una voce della lista.
la text area si dovrebbe popolare con un attributo di un un oggetto del mio codice js.

qui il codice js


codice:
function caricaXML(nomeFile) {
   var xmlhttp;
   if (window.XMLHttpRequest) {
      // IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp = new XMLHttpRequest();
   } else {
      // IE6, IE5
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
   }
   xmlhttp.open("GET", nomeFile, false);
   xmlhttp.send();
   return xmlhttp.responseXML;
}

function canzoniere () {      // costruttore del canzoniere
   this.lista = [];           //questo è l'array che contiene l'elenco delle canzoni
   this.aggiungi =
      function (c) {          //metodo per aggiungere alla lista del canzoniere tutte le canzoni
         this.lista.push(c);
        }
	this.visualizza =         // viasualizzare le canzoni dell canzoniere
   		function(l) {
      var s = "";
      for (var i in l) {
         s += l[i].visualizza();
        }
   
	return s; 

    }
	this.inizializza =
  	 function (n) {
      var nodo = n.getElementsByTagName("canzoniere")[0];  //carico tutti gli elementi dell xml (partendo dal primo)
      var l = nodo.getElementsByTagName("canzone");   // prendo tutti gli elementi <canzone>
  	  for (var i = 0; i < l.length; i++) {     
         var canzone = new Canzone();   //questa variabile è un nuovo oggetto Canzone
         canzone.inizializza(l[i]);
         this.aggiungi(canzone);       //in alternativa uso "this.lista.push(canzone);" ed elimino il metodo this.aggiungi
        }   
    }
    this.elencoGeneri=  // elenco dei generi che popoleranno la prima select
	   function (){
	      var o = "";
	      o += '<option value="0" selected="selected"> GENERE </option>';
		  var d=0;
		  for (var i=0; i<this.lista.length-6; i++) {   // le prime 4 canzoni hanno 4 generi diversi quindi soddisferanno la select
		     var e="c"+d;      			//id dinamico
		     o += '<option value="' + this.lista[i].genere + '" id="' + e + '">' + this.lista[i].genere + '</option>';
		    d++;
		  }
		return o;
	} 
	this.elencodifficolta=  // elenco delle difficolta che popoleranno la seconda select
		   function (){
	          var o2 = "";
	          o2 += '<option value="0" selected="selected"> DIFFICOLTA </option>';
		      var d2=0;
		      for (var i=0; i<this.lista.length -7; i++) {   // le prime 3 canzoni hanno 3 difficolta diverse quindi soddisferanno la select
		         var e="c"+d2;      			//id dinamico
		         o2 += '<option value="' + this.lista[i].difficolta + '" id="' + e + '">' + this.lista[i].difficolta + '</option>';
		         d2++;
		     }
		return o2;
	} 
	this.elencotonalita= // elenco delle tonalita che popolerranno la terza select
		   function (){
	         var o3 = "";
	         o3 += '<option value="0" selected="selected"> TONALITA </option>';
		     var d3=0;
		     for (var i=0; i<this.lista.length-3; i++) {   // le prime 7 canzoni hanno 7 tonalita diverse quindi soddisfano la select
		        var e="c"+d3;      			//id dinamico
		        o3 += '<option value="' + this.lista[i].tonalita + '" id="' + e + '">' + this.lista[i].tonalita + '</option>';
		        d3++;
		}
		return o3;
	}
	this.cercaTutto= // metodo ricerca tutto
		function (a,b,c){
			var l = [];
			if (a==0 && b==0 && c==0){
				for (i in this.lista){
					l.push(this.lista[i]);
				}
			}else if (a==0 && b != 0 && c != 0){
				for (i in this.lista){
					if (this.lista[i].difficolta == b && this.lista[i].tonalita == c) {
					l.push(this.lista[i]);
					}
				}
			}else if(a==0 && b==0 && c!=0){
				for (i in this.lista){
					if (this.lista[i].tonalita == c) {
						l.push(this.lista[i]);
					}
				}	
			}else if(a!=0 && b==0 && c==0){
				for (i in this.lista){
					if (this.lista[i].genere == a) {
						l.push(this.lista[i]);
					}
				}
			}else if(a!=0 && b!=0 && c==0){
				for (i in this.lista){
					if (this.lista[i].genere == a && this.lista[i].difficolta == b) {
						l.push(this.lista[i]);
					}
				}
			}else if(a!=0 && b==0 && c!=0){
				for (i in this.lista){
					if (this.genere[i] == a && this.lista[i].tonalita == c) {
						l.push(this.lista[i]);
					}
				}	
			}else if(a==0 && b!=0 && c==0) {
				for (i in this.lista){
					if (this.lista[i].difficolta == b) {
						l.push(this.lista[i]);
					}
				}
			}else{
				for (i in this.lista){
					if (this.lista[i].genere==a && this.lista[i].difficolta==b && this.lista[i].tonalita == c) {
						l.push(this.lista[i]);
					}
				}
			}
	return l;
	}
}															

function ricerca() {										//funzione ricerca derivante da visualizza.onclick
	var select1 = document.getElementById("selectGenere");
	var select2 = document.getElementById("selectDifficolta");
	var select3 = document.getElementById("selectTonalita");
	var i=0; //selezione genere
	while ((i<select1.options.length) && (!select1.options[i].selected)) {
	   i++;
	}
	var j=0; //selezione difficolta
	while ((j<select2.options.length) && (!select2.options[j].selected)) {
	   j++;
	}
	var k=0; //selezione tonalita
	while ((k<select3.options.length) && (!select3.options[k].selected)) {
	   k++;
	}
	var l = ilCanzoniere.cercaTutto(select1.options[i].value,select2.options[j].value,select3.options[k].value);
	var nodo = document.getElementById("lista");
	if (l == "") {
		nodo.innerHTML = ("nessun risultato");
	} else {
		nodo.innerHTML = ilCanzoniere.visualizza(l);
	}
}
	

function Canzone () {    //costruttore dell oggetto canzone c
   this.genere;
   this.titolo;
   this.difficolta;
   this.tonalita;
   this.origine;
   this.testo;
   this.visualizza =
	function() {
      return   '[*]'+''+this.titolo+'' +  '' +'
'
	}
	this.inizializza =
   		function(nodo) {
      		var c = nodo.getAttribute("genere");
      		this.genere = c;
      		var lt = nodo.getElementsByTagName("titolo");
      		var t = lt[0].firstChild.nodeValue;
    	  	this.titolo = t;
      		var ld = nodo.getElementsByTagName("difficolta");
      		var d = ld[0].firstChild.nodeValue;
      		this.difficolta = d;
      		var lto = nodo.getElementsByTagName("tonalita");
     		var to = lto[0].firstChild.nodeValue;
      		this.tonalita = to;
			var lori = nodo.getElementsByTagName("origine");
     		var ori = lori[0].firstChild.nodeValue;
      		this.origine = ori;
			var ltesti = nodo.getElementsByTagName("testo");
			var testi = ltesti[0].firstChild.nodeValue;
			this.testo = testi;
			
	}
}



var ilCanzoniere;
function inizializza() {
   var nodo = caricaXML("js/canzoniere.xml");
   ilCanzoniere = new canzoniere();
   ilCanzoniere.inizializza(nodo);
   var lista1 = document.getElementById("selectGenere"); 
   var lista2 = document.getElementById("selectDifficolta"); 
   var lista3 = document.getElementById("selectTonalita");
   lista1.innerHTML = ilCanzoniere.elencoGeneri();  
   lista2.innerHTML = ilCanzoniere.elencodifficolta(); 
   lista3.innerHTML = ilCanzoniere.elencotonalita(); 
   lista1.onchange=ricerca;	
   lista2.onchange=ricerca;
   lista3.onchange=ricerca; 
   

}
window.onload = inizializza;
qui il codice html :

codice:
</head>
<body>
   <div id="menu">
	   <ul>
			[*]Home
			[*]La guida
			[*]Primi passi
         <li id="current">Canzoniere galattico
			[*]Chitarristi
		[*]Contatti[/list]
   </div>
   <div id="header">
      <div id="header2">
      </div>
   </div>
   <div id="divisore">
      <h1>Canzoniere</h1>
   </div>
   <div id="contenuto">
      <div id="subcontenuto">
         <select id="selectGenere"></select>
         <select id="selectDifficolta"></select>
         <select id="selectTonalita"></select>
         <input id="visualizza" type="button" value="VisualizzaCanzoni">
         

         

         <h2> canzoni presenti nel nostro database </h2>
		 <h1> Aggiungi una canzone nella text area per visualizzare gli accordi e modificarla</h1>
		  <textarea rows="4" cols="50"> </textarea>
         
</br>
   <div id="aumentatore"></div>
</div> <div id="testida"> </div> </div> <div id="footer"> </div> </body> </html>
Nella text area dovrebbe andarci il valore di this.testo che corrisponde nel XML ad un testo preformattato. consigli su come fare?