Problema funzione

ciccio9999

Utente Attivo
16 Ago 2011
30
0
0
Ho fatto questa funzione javascript che data una select multipla mi fa disabilitare tutto se ho inserito troppe scelte. Ecco la funzione:

PHP:
function conta() {

		var x=document.getElementById("prova");

		var i;

		var NumeroSelezionate = 0;

		for (i=0;i<x.length;i++){

			if (x.options[i].selected){

			      NumeroSelezionate++;

			      if (NumeroSelezionate > 4){

				   x.disabled=true;
			      }

		  	}

		}

	}

Il problema è che se metto un alert al posto del disabled mi appare il messaggio al momento giusto ma non mi blocca la selezione (e mi riappare l'alert ma comunque mi fa selezionare quello dopo!). Se invece metto il disabled, mi disabilita la selezione, tuttavia la funzione prende 0 valori inseriti anzichè 5.
esempio: io devo inserire 5 città su una scelta di 10 possibili.

Nel primo caso quando ho inserito la quinta mi appare l'alert che mi avverte che ho inserito 5 città, se do invio mi stampa le 5 città correttamente. Nel secondo caso dopo che ho inserito la quinta mi disabilita tutto (quindi di sicuro non posso cliccare altre città) però non mi stampa città.
Come risolvo?
 
Non sono sicuro di aver capito quello che vuoi fare. Praticamente tu hai 10 checkbox, e vuoi fare in modo che l'utente ne possa selezionare solo 5. Quando clicca per selezionare la sesta, cosa deve succedere? Non puoi disabilitare tutte le checkbox, perché l'utente potrebbe voler cambiare la sua scelta. Potresti semplicemente fare l'uncheck di quella "in più". In tutto questo non capisco cosa c'entri l'alert... Basterebbe aggiungere un messaggio in cima al form o accanto alle checkbox.
 

Discussioni simili