Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

morpheus

[Resolvido] Desabilitar campos com List Menu

Recommended Posts

Oi galera, preciso de uma ajuda.

 

Alguem sabe como se faz ou de algum script para fazer o seguinte:

 

Tenho um menu list com duas alternativas: Clientes, empregados

 

quando selecciono clientes todos os campos do formulário estão activos, agora quando eu escolho empregados alguns campos de texto do formulário deveriam ficar inactivos.

 

Alguem me ajuda?

 

Um abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça uma função para bloquear campos com parâmetros dinâmicos (ou seja, não tem um número fixo de parâmetrros que você vai passar. Você passa os campos que quer bloquear e a função se adapta).

 

Um exemplo:

 

function bloqueiaCampo() {
   if(arguments.length > 0) {
	  for(i=0; i<arguments.length; i++) {
		 document.NOMEDOTEUFORM[arguments[i]].readonly = true;
	  }
   }
}

Exemplo de chamada para a função:

bloqueiaCampo(usuario,senha,nome,idade,fone);

 

Entendeu a idéia?

 

ABRAX!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi berkowitz, obrigado pela tua ajuda, então seria assim:

 

<script>
function bloqueiaCampo() {
   if(arguments.length > 0) {
	  for(i=0; i<arguments.length; i++) {
		 document.NOMEDOTEUFORM[arguments[i]].readonly = true;
	  }
   }
}
</script>

Depois no menu list colocaria assim?

 

<select name="tipo" class="font11Black">
				  <option value="Particular">Particular</option>
				  <option value="Empresa" onclick="bloqueiaCampo(usuario,senha,nome,idade,fone)">Empresa</option>
				</select>

Não sei como aplicar aqui no menu. Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom... no script que te mandei você tem que mudar o NOMEDOTEUFORM para o nome do teu <form>, certo? Não se esqueça.

 

No teu <select> você não utiliza onclick em um option. Tem que utilizar o onChange na tag SELECT, e aí você acrescenta uma linha na função que te passei. Você vai ter que verificar se o item escolhido é o Empresa (no seu caso) para aí sim executar a função.

 

Entendeu? :D

 

ABRAX!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim:

 

<select name="tipo" class="font11Black" onChange="bloqueiaCampo(usuario,senha,nome,idade,fone);">
				  <option value="Particular">Particular</option>
				  <option value="Empresa">Empresa</option>
				</select>

E na função bloqueiaCampo você incluiria assim:

 

<script>

function bloqueiaCampo() {

var form = document.NOMEDOTEUFORM;

var bloqueio = (form.tipo.options[form.tipo.selectedIndex].value == "Empresa")?true:false;

if(arguments.length > 0) {

for(i=0; i<arguments.length; i++) { arguments.disabled = bloqueio; }

}

}

</script>

Entendeu? Assim quando você escolher EMPRESA ele bloqueia, e outra opção ele libera. A partir daí você pode adaptar para as tuas necessidades... frmz?? :D

 

Obs.: o código que eu havia te passado antes continha um erro! Agora já está funcionando (testei aqui). Desculpe!

 

ABRAX!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.