Problema gestione liste in js

bobbyred

Nuovo Utente
22 Gen 2016
14
1
3
Ciao a tutti,
ho un problema penso stupido ma che mi sta mandando al manicomio.

In base alla selezione di un valore da una lista, seleziono il contenuto di un div nascosto con id=valore e inserisco tale contenuto in un altro div.

Funziona ma dopo aver selezionato correttamente il valore, la lista mi si resetta al valore iniziale.

Posto il codice
HTML
Codice:
<form id="form1" name="form1" method="post" action="">
	<span class="tit1">Seleziona un utente</span>
	<select name="ListUsr" id="ListUsr">
		<option value="" selected="selected">Seleziona --&gt;</option>
		<option value="474128">Rossi Roberto(474128)</option>
		<option value="RossiA">Rossi Roberto Amministratore(RossiA)</option>
		<option value="RossiG">Rossi Roberto Gestore(RossiG)</option>
	</select>
	<input type="submit" name="vedi" id="vedi" value="Vedi" onclick="javascript:GetPwd();"/>
</form>
<div id="474128" style="display:none;">pippo</div>
<div id="RossiA" style="display:none;">paperino</div>
<div id="RossiG" style="display:none;">pluto</div>
<div id="risult"></div>
JAVASCRIPT
Codice:
function GetPwd() {
	if (ListUsr.options[ListUsr.selectedIndex].value == "") {
		alert("Non hai selezionato nessun utente");
	} else {
		document.getElementById("risult").innerHTML = document.getElementById(ListUsr.options[ListUsr.selectedIndex].value).innerHTML;
	}
	return(true);
}
Grazie a mi darà una mano.
Roberto
 

f107

Utente Attivo
7 Ago 2012
203
6
18
Roma
Hai messo tutto in un form, quindi quando fai click sull'input submit questo ricarica la pagina in post.
Per evitarlo o fai cosi:
HTML:
<form id="form1" name="form1" method="post" action="">
	<span class="tit1">Seleziona un utente</span>
	<select name="ListUsr" id="ListUsr">
		<option value="" selected="selected">Seleziona --&gt;</option>
		<option value="474128">Rossi Roberto(474128)</option>
		<option value="RossiA">Rossi Roberto Amministratore(RossiA)</option>
		<option value="RossiG">Rossi Roberto Gestore(RossiG)</option>
	</select>
	<input type="submit" name="vedi" id="vedi" value="Vedi" onclick="javascript:GetPwd(event);"/>
</form>
<div id="474128" style="display:none;">pippo</div>
<div id="RossiA" style="display:none;">paperino</div>
<div id="RossiG" style="display:none;">pluto</div>
<div id="risult"></div>
e js:
Codice:
function GetPwd(e) {
	e.preventDefault();
	if (ListUsr.options[ListUsr.selectedIndex].value == "") {
		alert("Non hai selezionato nessun utente");
	} else {
		document.getElementById("risult").innerHTML = document.getElementById(ListUsr.options[ListUsr.selectedIndex].value).innerHTML;
	}
	
}
Praticamente "cancelli" l'evento che si dovrebbe scatenare.

Oppure semplicemente cambi il type dell'input da submit a semplice button e il tutto funziona.

Spero ti sia utile.
Ciao ciao