Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas para desabilitar campo


erwin

Pergunta

Bom Dia a todos,

estou com o seguinte problema:

tenho um tela que quando o usuário clicar no botão quero que fique todos os campos da tela desabilitados.

o problema é que não esta dando certo.

fiz um fonte de teste e ele segue a baixo:

<html>
<head>


<script>


function carrega(){

lista = "<SELECT size='7' name='sel01' multiple style='width:347'>";
for( i=0; i< 1000; i++){
lista = lista + "<option value='"+i+"'>"+i+"</option>"
}
lista = lista + "</SELECT>"
document.getElementById('lbl1').innerHTML = lista;



lista = "<SELECT size='7' name='sel02' multiple style='width:347'>";
for(i=0; i< 10; i++){
lista = lista + "<option value="+i+">"+i+"</option>"
}
lista= lista + "</SELECT>"
document.getElementById('lbl2').innerHTML = lista;
}


function teste(){


document.getElementById('teste').disabled = true;
document.getElementById('teste1').disabled = true;
document.getElementById('teste2').disabled = true;
document.getElementById('teste3').disabled = true;

arrayDesvincular = new Array();
arrayVincular = new Array();

for(j = 0; j < document.getElementById('sel01').length; j++){
for(i = 0; i < document.getElementById('sel02').length; i++ ){
if(document.getElementById('sel02')[i].value == document.getElementById('sel01')[j].value){
arrayVincular.push(document.getElementById('sel01')[j].value + " V ")
break;
}
}
}


for(j = 0; j < document.getElementById('sel02').length; j++){
for(i = 0; i < document.getElementById('sel01').length; i++ ){
if(document.getElementById('sel01')[i].value == document.getElementById('sel02')[j].value){
arrayDesvincular.push(document.getElementById('sel02')[j].value + " D ")
break;
}
}
}

alert("V ->" + arrayVincular);
alert("D ->" + arrayDesvincular);

}
</script>

</head>
<body>
<INPUT TYPE="text" name="teste" id="teste" value="AAA">
<INPUT TYPE="text" name="teste1" id="teste1" value="BBB">
<input type="text" name="teste2" id="teste2" value="CCC">
<input type="button" name="teste3" id="teste3" value="aaa" onclick="teste()">
<label id="lbl1"><SELECT size="7" name="sel01" multiple style="width:347"></SELECT></label>
<label id="lbl2"><SELECT size="7" name="sel02" multiple style="width:347"></SELECT></label>
&lt;script>
carrega();
</script>
</body>
<html>

embora tenha na função teste() os disabled=true para os objetos eles não ficam desabilitado.

eu comentei os dois "for" que existem na função e desabilitou.

descomentei e antes do for coloquei um alert pra imprimir o atributo disabled do campo e quando da o alert o campo fica true e aparece true no alert.

não sei, mas a impressão q tenho é que quando entra no for ele fica preso e não dá tempo de atualizar a tela.

Alguém poderia me ajudar?

desde já agradeço

Editado por fercosmig
Utilize as tags de código, facilitam a visualização.
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Vou tentar explicar:

De fato bloqueia os campos, mas se você reparar só bloqueia depois que passa pelos 2 "for".

Eu queria que bloqueasse antes de passar pelos for's, porque na tela do sistema quando o usuário clicar no botão o conteúdo das select's são um pouo grande então demora um pouco.

O usuário pode ter a impressão que não esta fazendo nada e clicar no botão denovo ou até mudar um campo. (no sistema não são caixas de texto e sim selects que disparam funções no onchange, por isso que eu quero bloquear).

não sei se ficou claro, mas é isso ai, queria que bloqueasse antes de entrar nos for's.

OBS: os select's de multi seleção não precisam ser desabilitados.

testei no FF e no IE funcionou...

o q você quer exatamente... é bloquear o select tb?

no FF não da alerta nenhum...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...