codice:
<html>
<head>
<title>Aggiungi voci</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function aggiungi(idsrc,iddst) {
var valori = "";
var elem = document.getElementById(idsrc);
for (n=0; n<elem.options.length; n++) {
if (elem.options[n].selected==true) {
if (document.getElementById(iddst).value.indexOf(elem.options[n].value)==-1) valori = valori + "," + elem.options[n].value;
}
}
if (valori.substring(0,1)=="," && document.getElementById(iddst).value=="") valori = valori.substring(1,valori.length);
document.getElementById(iddst).value += valori;
}
</script>
</head>
<body>
<form>
<select id="menu" name="menu" size="10" multiple="multiple">
<option value="Voce_1">Voce 1</option>
<option value="Voce_2">Voce 2</option>
<option value="Voce_3">Voce 3</option>
<option value="Voce_4">Voce 4</option>
<option value="Voce_5">Voce 5</option>
<option value="Voce_6">Voce 6</option>
<option value="Voce_7">Voce 7</option>
</select>
<input type="button" value="Add" onclick="aggiungi('menu','voci');" />
<textarea id="voci" name="voci" rows="6" cols="32"></textarea>
</form>
</body>
</html>
Con questo codice, basta che passi alla funzione aggiungi() l'id del menu a tendina e l'id della textarea ogni volta che la usi in un pulsante per scrivere nella textarea i valori (values) delle options selezionate. La funzione separa i valori nella textarea con una virgola e se un valore è già stato inserito, non ripete l'inserimento. Ovviamente permette di inserire più valori insieme quando li hai selezionati con CTRL. Spero di esserti stato utile.