Desabilitar campo com javascript[RESOLVIDO]

7 respostas
G

Tenho um pequeno problema, tenho um combo que habilita um campo input ou desabilita, porém quando entra na página ele vem habilitado sendo que teria que vir desabilitado.

ta ai o combo e o campo
<h:selectOneMenu id="selectId" value="#{cancelarMatriculaList.motivoCancelamentoMatricula}"
		   				disabled="#{empty cancelarMatriculaList.resultList}" onchange="isHabilitaMotivo('10');" styleClass="medio"> 
		   				<s:selectItems var="o" label="#{o.nome}" value="#{cancelarMatriculaList.listaMotivos}" 
		   					noSelectionLabel="#{messages['select']}" hideNoSelection="true"/>
						<s:convertEntity />	   			
		   			</h:selectOneMenu>
		   			
		   			<h:inputText id="idOutroMotivo" value="#{cancelarMatriculaList.cancelamentoMatricula.outroMotivo}" required="false"/>

o javascript é

function isHabilitaMotivo(descricao){
	        var obj = document.getElementById('formulario:motivoField:selectId');
	        var select = obj.options[obj.selectedIndex]
	  		
	        if(select.value == descricao){ 
	  			document.getElementById('formulario:motivoField:idOutroMotivo').disabled = false; 
            	return true;
			}
	        document.getElementById('formulario:motivoField:idOutroMotivo').disabled = true;
	        document.getElementById('formulario:motivoField:idOutroMotivo').value='';
	         
	   }

7 Respostas

f2pro

cara… eu faria o seguinte…
o input tem uma propriedade que pode ser colocada dentro da tag
http://www.htmlcodetutorial.com/forms/_INPUT_DISABLED.html

;D

G

f2pro:
cara… eu faria o seguinte…
o input tem uma propriedade que pode ser colocada dentro da tag
http://www.htmlcodetutorial.com/forms/_INPUT_DISABLED.html

;D

colocar Disabled=“true” vai funcionar não =x

f2pro

tenta colocar a propriedade disabled com o D em minúsculo
o pior é que pra mim funcionou…

<h:selectOneMenu value="#{cadastroPessoasMB.tipo_endereco_selecionado}" disabled="true"> <f:selectItems value="#{cadastroPessoasMB.tipo_endereco}" var="tipo" itemLabel="#{tipo.nome}" itemValue="#{tipo.codigo_tipo}" /> </h:selectOneMenu>

apesar que eu estou usando o primefaces …
dai pode ser o motivo

G

f2pro:
tenta colocar a propriedade disabled com o D em minúsculo
o pior é que pra mim funcionou…

<h:selectOneMenu value="#{cadastroPessoasMB.tipo_endereco_selecionado}" disabled="true"> <f:selectItems value="#{cadastroPessoasMB.tipo_endereco}" var="tipo" itemLabel="#{tipo.nome}" itemValue="#{tipo.codigo_tipo}" /> </h:selectOneMenu>

apesar que eu estou usando o primefaces …
dai pode ser o motivo

cara eu quero desabilitar é o campo de input não o combo

f2pro

<h:outputLabel value="*CPF / CNPJ :"/> <h:inputText id="cpf_cnpj" disabled="true" value="#{cadastroPessoasMB.pessoa.cpf_cnpj}" required="true" style="width: 500px;" requiredMessage="Campo [Nome Fantasia] obrigatório"/>

pra mim funcionou tbm…

G

Vai funcionar não, pois eu estou ativando e desativando o campo atravez de um javascript =x, pois não posso usar ajax.

f2pro

o que tu poderia fazer seria

<h:inputText id="idOutroMotivo" value="#{cancelarMatriculaList.cancelamentoMatricula.outroMotivo}" disabled="#{cancelarMatriculaList.habilitado}" required="false"/>

e no teu arquivo cancelarMatriculaList.java, suponho este o nome,
tu fazer uma função que retorna um boleano alteranando entre true e false, alterando essa propriedade .habilitado
e, criar um evento no teu selectOneMenu que, ao mudar ele atualiza o id=“idOutroMotivo”

Criado 21 de janeiro de 2011
Ultima resposta 21 de jan. de 2011
Respostas 7
Participantes 2