erwin Postado Janeiro 24, 2008 Denunciar Share Postado Janeiro 24, 2008 (editado) 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> <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 Janeiro 24, 2008 por fercosmig Utilize as tags de código, facilitam a visualização. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jefmolino Postado Janeiro 24, 2008 Denunciar Share Postado Janeiro 24, 2008 testei no FF e no IE funcionou...o q você quer exatamente... é bloquear o select tb?no FF não da alerta nenhum... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 erwin Postado Janeiro 24, 2008 Autor Denunciar Share Postado Janeiro 24, 2008 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jefmolino Postado Janeiro 25, 2008 Denunciar Share Postado Janeiro 25, 2008 acho q entendi, bom, estranho o q ele faz mesmo, pois mesmo com o disabled antes, ele aplica ao fim...se você colocar um alerta logo apos o disabled... ele desabilita os botões e depois continua o q tem q ser feito... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
erwin
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:
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 fercosmigUtilize 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
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.