Desabilitar combobox

olá,
tenho um form que deve ter alguns campos desabilitados, dentre eles algumas combobox…
porém eu preciso que estes campos sejam enviados na submissão, e colocando disabled=“true” eles não são enviados…
tentei por readOnly=“true”, porém os valores das combobox podem ser modificados, e isto não pode acontecer…

aí eu estava pegando todos os elementos do form e colocando num for, testando se é uma combobox, se for eu coloco no evento onclick desta combobox um return false…mas por algum motivo não aocntece nada…

                var numElementos = document.formCadastro.elements.length;
            
                for(x=0; x<numElementos;x++){
                    
                    if(document.formCadastro.elements[x].type != "label"){
                        document.formCadastro.elements[x].readOnly = true;
                    }
                    if(document.formCadastro.elements[x].tagName == "select"){
                            
                        document.formCadastro.elements[x].onclick = function(){
                            alert("nao mostra o alert")
                        }
                    }
                }

alguém pode me ajudar? :slight_smile:

Olá, então você pode fazer isso da seguinte forma:

<html>
	<head>
		<script language="javascript">
			function desabilitar() {
				document.getElementById("combo").disabled = true;	
			}
		 </script>
	</head>
	
	<body>
		<form>
			<select id="combo" onChange="desabilitar();">
				<option>São Paulo</option>
				<option>Rio de Janeiro</option>
                                <option>Minas Gerais</option>
			</select>
		</form>
	</body>
	
</html>

Na função desabilitar é feito uma referencia ao combo pelo seu id.

[quote=camarada_du]Olá, então você pode fazer isso da seguinte forma:

<html>
	<head>
		<script language="javascript">
			function desabilitar() {
				document.getElementById("combo").disabled = true;	
			}
		 </script>
	</head>
	
	<body>
		<form>
			<select id="combo" onChange="desabilitar();">
				<option>São Paulo</option>
				<option>Rio de Janeiro</option>
                                <option>Minas Gerais</option>
			</select>
		</form>
	</body>
	
</html>

Na função desabilitar é feito uma referencia ao combo pelo seu id.
[/quote]

se eu desabilito a combo, ela não é sbmetida junto no form, e eu preciso que seja submetida

De que modo você está capturando os valores enviados? Está usando JSF?