Newsgroup: it.comp.lang.javascript
Titolo: togliere option da una select

Ariciao.. si lo sò stò impazzendo con questo javascript.. :(
Ho una select multipla.. devo togliere da questa select dei valori che
seleziono e rivalorizzare ogni volta un campo nascosto con i valori
delle options separate da una virgola..
lo script è :
function togli() {
	arr = new Array();
	Sel = document.forms['formRisorsa'].metadata;
	numSel = Sel.options.length;
	document.forms['formRisorsa'].id_metadata.value = '';
	for(i=0;i<numSel;i++) {
		if (Sel.options[i].selected) { Sel.options[i] = null; }
		document.forms['formRisorsa'].id_metadata.value += Sel[i].options[i]
+ ",";
	}
alert(document.forms['formRisorsa'].id_metadata.value);
}
l'HTML :
<form action="pagina.php" method="POST" enctype="multipart/form-data"
name="formRisorsa">
<input type="hidden" name="id_metadata" value="19,66,73,120,126," />
<input type="button" value=" &gt;&gt; " onClick="sposta()" />
<input type="button" value=" &lt;&lt; " onClick="togli()" />
<select name="metadata" class="formText" style="width: 300px; height:
150px" multiple>
<option value="">METADATA SCHEDE -> RILEVANZA EDITORIALE -> 1</option>
<option value="">LOCATION ID -> Rion_ponte</option>
<option value="">METADATA SCHEDE -> TIPOLOGIA EDITORIALE -> Dati
Cinema</option>
<option value="">METADATA RISORSE -> DOCUMENTO -> AREA APPARTENENZA ->
Film Commission</option>
<option value="">METADATA RISORSE -> DOCUMENTO -> TIPOLOGIA ->
Informativo</option>
</select>
</form>
Qualcuno mi sà aiutare??? Grazie :)

 + ",";
Qua non ho capito: aggiungi *SEMPRE* al campo id_metadata il valore della
option (che hai peraltro rimosso subito prima!)
Se ho capito cosa vuoi fare, devi racchiudere tra parentesi, es.
 if(Sel.options[i].selected) {
  document.forms[..].id_metadata.value+=","+Sel.options[i].value;
  Sel.options[i]=null;
 }
Ricordo qualche problema ciclando dalla prima all'ultima (e rimuovendo in
mezzo), meglio se cicli dall'ultimo elemento al primo, del tipo
 (for i=numSel-1;i>=0;i--)
Comincia con quanto sopra, poi posta quello che hai ottenuto e eventuali
problemi.
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.

In pratica devo valorizzare un campo HIDDEN id_metadata con i valori
separati da virgola, saltando ovviamente i valori che ho selezionato (
funzioni togli().. )
HO AGGIUNTO UN CONTINUE()
Ho provato a modificare la funzione e penso che siamo vicini:
function togli() {
	arr = new Array();
	Sel = document.forms['formRisorsa'].metadata;
	numSel = Sel.options.length;
	document.forms['formRisorsa'].id_metadata.value = '';
	for(i=numSel-1;i>=0;i--) {
		if (Sel.options[i].selected) { Sel.options[i] = null; continue; }
		document.forms['formRisorsa'].id_metadata.value +=
Sel[i].options[i].value + ",";
	}
alert(document.forms['formRisorsa'].id_metadata.value);
}
Però non mi mi valore il campo id_metadata.. se Metto :
           document.forms['formRisorsa'].id_metadata.value +=
Sel[i].options[i].value + ",";
non mi scrive niente mentre se metto :
           document.forms['formRisorsa'].id_metadata.value +=
Sel[i].options[i] + ",";
mi scrive [Object] ... NSOMMAAA!!
grazie Cristianoz!"

 mi scrive [Object] ... NSOMMAAA!!
Stranissimo ti scriva Object, dovrebbe segnalarti errore...
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.