Ir para conteúdo

POWERED BY:

Arquivado

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

WebMasterJr

[Resolvido] Desabilitar TextBox enquanto faz pesquisa

Recommended Posts

Bom Dia,

 

Estou com o seguinte problema desde ontem para resolver e ainda nao consegui...

 

Meu cliente quer que:

 

- quando ele for digitar o CEP no momento em que estiver carregando o bairro, rua, cidade e uf os respectivos campos estejam desabilitados e logo a apos a consulta estiver completa que os mesmos campos possam voltar a ser editaveis.

 

Questionei ele que poderia estar desde o carregamento da pagina desabilitados mais ele quer assim.

 

Alguem poderia me ajudar?

 

 

Ja Agradecido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

WebMasterJr,

 

 

Se você estiver trabalhando com a plataforma web, você pode utilizar uma requisição ajax (use jquery que fica mais simples de saber o estado da requisição), no momento da consulta você desabilita todos os controles e após o preenchimento dos campos você habilita os campos para edição.

 

Documentação da função ajax: http://api.jquery.com/jQuery.ajax/

 

Se pesquisar no google pelos termos Busca Cep + jquery encontrará vários exemplos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Daniel,

 

A busca esta ocorrendo perfeitamente, o problema é que eu tenho que desativar os respectivos campos que retornaram dessa busca, para evitar o usuario de começar a digitar informações e apenas digitar algo quando terminar de retornar caso o endereço ou a cidade ou algo esteja errado.

 

Procurei no Google sim de varias formas mais ainda nao encontrei nada... e sim estou trabalhando com Ajax e Jquery...

 

trabalho com Asp.Net C#.

 

 

Muito Obrigado pela sua atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

quintelab consegui de uma outra forma... isso teria que ser em tempo de execução, mais com attr() e removeattr() eu consegui....

 

o Loaser é o proximo passo que eu tenho que fazer... e estou agora procurando sobre isso pois terei que mudar o style, e eu terei que usar o "Display" para que quando eu nao quiser mostrar apareça "none" e quando eu quiser "block".

 

 

Essa é a minha proxima tarefa...

 

 

As vezes voces leem os meus topicos e pensam: "Nossa que cara ridiculo", mais é que eu estou aprendendo e esta sendo dificil pra mim tudo isso de uma vez... estou corrigindo alguns erros de um SW ja pronto por isso faço muitas perguntas...

 

Mais Obrigado por ajudar... e se souber de algo nessa nova questao ficaria agradecido.

 

 

Boa Tarde.

Compartilhar este post


Link para o post
Compartilhar em outros sites
As vezes voces leem os meus topicos e pensam: "Nossa que cara ridiculo", mais é que eu estou aprendendo e esta sendo dificil pra mim tudo isso de uma vez... estou corrigindo alguns erros de um SW ja pronto por isso faço muitas perguntas...

Cara pode ficar tranquilo, todos que estão aqui no forum indiferente do nível de acesso, não estamos aqui para julgarmos as dúvidas de nenhum usuário, estamos aqui para ajudar e ser ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

WebMasterJr,

 

Pergunte, Pergunte e pergunte mais ainda :D.

 

Você pode utilizar do jquery o .hide() para esconder e o .show() para aparecer, o que você quiser na sua pagina web.

quintelab consegui de uma outra forma... isso teria que ser em tempo de execução, mais com attr() e removeattr() eu consegui....

 

o Loaser é o proximo passo que eu tenho que fazer... e estou agora procurando sobre isso pois terei que mudar o style, e eu terei que usar o "Display" para que quando eu nao quiser mostrar apareça "none" e quando eu quiser "block".

 

 

Essa é a minha proxima tarefa...

 

 

As vezes voces leem os meus topicos e pensam: "Nossa que cara ridiculo", mais é que eu estou aprendendo e esta sendo dificil pra mim tudo isso de uma vez... estou corrigindo alguns erros de um SW ja pronto por isso faço muitas perguntas...

 

Mais Obrigado por ajudar... e se souber de algo nessa nova questao ficaria agradecido.

 

 

Boa Tarde.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na pagina abaixo mostra aonde que quero colocar o gif.

 

pagina

 

Essa é a imagem no meu Flickr....

 

 

E abaixo esta a programação para inserir o endereço e para travar os respectivos campos na tela indicada acima que ja foi feito com sucesso, só resta mesmo fazer a parte de colocar o loader.gif:

 

  // função para preencher automaticamente: Cidade, Rua e Bairro.
       function getEndereco() {
           // Se o campo CEP não estiver vazio
           if ($.trim($("#@Html.FieldIdFor(model => model.CEP)").val()) != "") {
               $.getScript("http://cep.republicavirtual.com.br/web_cep.php?formato=javascript&cep=" + $("#@Html.FieldIdFor(model => model.CEP)").val(), function () {


                   var log = $("#@Html.FieldIdFor(model => model.Logradouro)");
                   var bairro = $("#@Html.FieldIdFor(model => model.Bairro)");
                   var cidade = $("#@Html.FieldIdFor(model => model.Cidade)");
                   var uf = $("#@Html.FieldIdFor(model => model.UF)");


                   // desabilita a edição dos campos
                   log.attr('disabled', 'disabled');
                   bairro.attr('disabled', 'disabled');
                   cidade.attr('disabled', 'disabled');
                   uf.attr('disabled', 'disabled');

                   // o getScript dá um eval no script, então é só ler!
                   // Se o resultado for igual a 1
                   if (resultadoCEP["resultado"] != "0") {
                       // troca o valor dos elementos
                       log.val(unescape(resultadoCEP["tipo_logradouro"]) + ": " + unescape(resultadoCEP["logradouro"]));
                       bairro.val(unescape(resultadoCEP["bairro"]));
                       cidade.val(unescape(resultadoCEP["cidade"]));
                       uf.val(unescape(resultadoCEP["uf"]));
                   }

                   log.removeAttr('disabled');
                   bairro.removeAttr('disabled');
                   cidade.removeAttr('disabled');
                   uf.removeAttr('disabled');
               });
           }
       }

       $('#@Html.FieldIdFor(model => model.CEP)').blur(function () {
           getEndereco();
       });
   });
</script>

 

E agora esta os campos criados dinamicamente:

 

@Html.LabelFor(model => model.CEP, "CEP"):
@Html.TextBoxFor(model => model.CEP, new { @class = "validate[required] masked", maxlength = "9", alt = "cep" })
@Html.ValidationMessageFor(model => model.CEP)
<br />
@Html.LabelFor(model => model.Logradouro):
@Html.TextBoxFor(model => model.Logradouro, new { @class = "contato_logradouro", maxlength = "50"})
<br />
@Html.LabelFor(model => model.Bairro):
@Html.TextBoxFor(model => model.Bairro, new { @class = "contato_bairro", maxlength = "50"})
<br />
@Html.LabelFor(model => model.Cidade):
@Html.TextBoxFor(model => model.Cidade, new { @class = "contato_cidade", maxlength = "20"})
<br />
@Html.LabelFor(model => model.UF):
@Html.TextBoxFor(model => model.UF, new { @class = "contato_uf", maxlength = "2"})

 

Espero ter ajudado quelquer coisa que possam me ajudar agradeceria e muito...

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.