Ir para conteúdo

POWERED BY:

Arquivado

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

thiagofer

cep - desabilitar campos

Recommended Posts

Olá.
Estou com seguinte problema: o usuário completará o cep e irá clicar em 'buscar cep'.
Será feita uma busca do cep e o dado será colocado no campo logradouro, bairro... automaticamente.
Acontece que não quero que o usuário altere essa informação que foi gerada automaticamente.
Ja tente readonly e não obtive sucesso porque os campos ja aparecem como inativo.
Gostaria de saber se há um jeito de fazer esse tipo de tratamento.
Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque o readonly dinamicamente, no retorno do ajax.

 

Se tiver dúvidas poste o código.

Compartilhar este post


Link para o post
Compartilhar em outros sites


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"

pageEncoding="ISO-8859-1"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>

 

<html>

 

<jsp:include page="../main/includes.jsp" />

 

<style>

.form-horizontal .control-label{

text-align:left !important;

}

 

 

</style>

 

 

<script type="text/javascript">

 

// Função para campos que vão exigir somente letras

function mascara(o,f){

v_obj=o;

v_fun=f;

setTimeout("execmascara()",1);

}

function execmascara(){

v_obj.value=v_fun(v_obj.value);

}

function alphanum( v ){

v=v.replace(/[^a-zA-Z\s]/g,""); //Remove tudo o que não é dígito

return v;

}

 

$(document).ready(function() {

 

var idConsultorio = "${consultorio.id}";

 

$('#consultorioId').val(idConsultorio);

 

//Acho que é referente a calendário e horários

//$('#confDiaria').hide();

//$('#repetirConf').hide();

//$("#optRepetirConf").hide();

 

//mascara para cep por enquanto, pois precisar ser string, ou seja, ter um tracinho no meio

$('#cep').mask('00000-000');

$('#telefone').mask('(00)0000-0000');

$('#numero').mask('0000');

$('#qtd_especialistas').mask('000');

//$('#nome').mask('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');

 

//formulario de envio de dados da clínica

$("#createConsultorio").validate({

// Define as regras

rules: {

nome: {

// campo nome sera obrigatorio (required)

required: true

},

numero: {

// campo email sera obrigatorio (required) e precisara ser um e-mail valido (email)

required: true

},

telefone: {

// campo telefone sera obrigatorio (required)

required: true

},

qtd_especialistas: {

// campo telefone sera obrigatorio (required)

required: true

},

cep: {

// campo cep sera obrigatorio (required)

required: true

},

},

// Define as mensagens de erro para cada regra

messages: {

nome: {

required: "Digite o nome da clínica"

},

numero: {

required: "Digite um numero para o logradouro"

},

telefone: {

required: "Digite o telefone da clínica"

},

qtd_especialistas: {

required: "Digite a quantidade de especialistas da clínica"

},

cep: {

required: "Digite o cep da clínica"

}

}

});

 

 

$('#clinicasList').dataTable( {

"bJQueryUI": true,

"oLanguage": {

"oPaginate": {

"sNext": '>',

"sLast": '»',

"sFirst": '«',

"sPrevious": '<'

}

}

});

 

$('#buscarCep').click(function(){

$('#tipoLogradouro').val("");

$('#logradouro').val("");

$('#bairro').val("");

$('#cidade').val("");

/* Configura a requisição AJAX */

$.ajax({

url : 'http://cep.republicavirtual.com.br/web_cep.php?formato=json&cep='+$('#cep').val(), /* URL que será chamada */

type : 'get', /* Tipo da requisição */

success: function(data){

if(data.resultado == 1){

$('#tipoLogradouro').val(data.tipo_logradouro);

$('#logradouro').val(data.logradouro);

$('#bairro').val(data.bairro);

$('#cidade').val(data.cidade);

$("#estado option[value="+data.id+"]").attr("selected", true);

 

$('#numero').focus();

}

else{

alert('Endereço não encontrado');

$('#tipoLogradouro').focus();

}

}

});

});

$.ajax({

url:"../Tipo/getAllTipos",

type: 'get',

success: function(data) {

$.each(data, function( key, value ) {

$("#tipo").append("<option value="+value.id+">"+value.nome+"</option>");

});

}

});

 

$.ajax({

url:"../Estado/getAllEstados",

type: 'get',

success: function(data) {

$.each(data, function( key, value ) {

$("#estado").append("<option value="+value.id+">"+value.acronimo+"</option>");

});

}

});

 

$('#salvarConsultorio').click(function(){

$("#cadastrarConsultorio").submit();

});

});

 

</script>

 

<jsp:include page="../main/navbar.jsp" />

 

<jsp:include page="../main/sidebar.jsp" />

 

<div class="content-wrapper">

<!-- Content Header (Page header) -->

<section class="content-header">

<h1>

Consultórios

</h1>

</section>

<!-- Main content -->

<section class="content">

<a href="#" style="color:#00A65A" data-toggle="modal" data-target="#addConsultorio"><i class="fa fa-plus-square fa-lg"></i> Adicionar novo consultório</a><br><br>

<div class="box">

<div class="box-body">

<table id="clinicasList" class="table table-bordered table-striped">

<thead>

<tr>

<th>Nome</th>

<th>Telefone</th>

<th>Cidade</th>

<th>Tipo</th>

</tr>

</thead>

<tbody>

<c:if test="${not empty consultorios}">

<c:forEach items="${consultorios}" var="list">

<tr id="<c:out value="${list.id}"></c:out>">

<td><a href="${pageContext.request.contextPath}/Consultorio/getConsultorio/<c:out value="${list.id}"></c:out>"><c:out value="${list.nome}" /></a></td>

<td><c:out value="${list.telefone}" /></td>

<td><c:out value="${list.logradouro.cidade.nome}" /></td>

<td><c:out value="${list.tipo.nome}" /></td>

</tr>

</c:forEach>

</c:if>

</tbody>

</table>

</div><!-- /.box-body -->

</div><!-- /.box -->

<div class="modal fade bs-example-modal-lg" id="addConsultorio" tabindex="-1" role="dialog"

aria-labelledby="myModalLabel" aria-hidden="true">

<div class="modal-dialog">

<div class="modal-content">

<!-- Modal Header -->

<div class="modal-header">

<button type="button" class="close"

data-dismiss="modal">

<span aria-hidden="true">×</span>

<span class="sr-only">Close</span>

</button>

<h4 class="modal-title" id="myModalLabel">

Adicionar Consultório

</h4>

</div>

 

<!-- Modal Body -->

<div class="modal-body">

<form:form method="POST" id="cadastrarConsultorio" action="../Consultorio/createConsultorio" modelAttribute="consultorio" class="form-horizontal">

<fieldset>

 

<!-- Text input-->

<div class="form-group">

<label class="col-md-2 control-label" for="nome">Nome</label>

<div class="col-md-7">

<input id="nome" name="nome" placeholder="" class="form-control input-md" required="required" type="text" onkeyup="mascara( this, alphanum )" >

 

</div>

</div>

 

<!-- Select Basic -->

<div class="form-group">

<label class="col-md-2 control-label" for="tipo">Tipo</label>

<div class="col-md-7">

<select id="tipo" name="tipo" class="form-control">

</select>

</div>

</div>

 

<!-- Multiple Checkboxes -->

<div class="form-group">

<label class="col-md-2 control-label" for="">Marketing?</label>

<div class="col-md-7">

<div class="checkbox">

<label for="marketing">

<input name="marketing" id="marketing" value="true" type="checkbox">

Sim

</label>

</div>

</div>

</div>

 

<!-- Text input-->

<div class="form-group">

<label class="col-md-2 control-label" for="telefone">Telefone</label>

<div class="col-md-7">

<input id="telefone" name="telefone" placeholder="" class="form-control input-md" required="required" type="text">

 

</div>

</div>

 

<!-- Text input-->

<div class="form-group">

<label class="col-md-2 control-label" for="telefone">Quantidade especialistas:</label>

<div class="col-md-7">

<input id="qtd_especialistas" name="qtd_especialistas" placeholder="" class="form-control input-md" required="required" type="text">

 

</div>

</div>

 

 

<!-- Button Drop Down -->

<div class="form-group">

<label class="col-md-2 control-label" for="cep">CEP</label>

<div class="col-md-7">

<div class="input-group">

<input id="cep" name="cep" class="form-control" placeholder="" required="required" type="text">

<div class="input-group-btn">

<button type="button" class="btn btn-default" id="buscarCep">

Buscar Endereço

</button>

</div>

</div>

</div>

</div>

 

 

<!-- Text input-->

<div class="form-group">

<label class="col-md-2 control-label" for="tipo_logradouro">Tipo Logradouro</label>

<div class="col-md-7">

<input id="tipoLogradouro" name="tipoLogradouro" placeholder="" class="form-control input-md" required="required" type="text" readonly>

 

</div>

</div>

 

<!-- Text input-->

<div class="form-group">

<label class="col-md-2 control-label" for="logradouro">Logradouro</label>

<div class="col-md-7">

<input id="logradouro" name="logradouro" placeholder="" class="form-control input-md" required="required" type="text" readonly>

 

</div>

</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

em jQuery:

$('#name').attr('readonly','readonly');
em Vanilla:

document.getElementById('name').setAttribute('readonly','readonly');

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que aparece quando você aperta Ctrl + Shift + J no Firefox ou Chrome?

 

E como você fez?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu joguei esse jquery no topo da página.

//mascara para cep por enquanto, pois precisar ser string, ou seja, ter um tracinho no meio
$('#cep').mask('00000-000');
$('#telefone').mask('(00)0000-0000');
$('#numero').mask('0000');
$('#qtd_especialistas').mask('000');
//$('#logradouro').attr('readonly','readonly');

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não cara.. você vai colocar só no retorno do ajax:

 

 

$('#logradouro')
  .val(data.logradouro)
  .attr('readonly','readonly');

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Estou escrevendo um Sistema Java Web e quando clico no Botão Salvar, o Java acusa esse erro:

      ERROR: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is null
       
      Já tentei de várias formas resolver esse problema, mas não estou conseguindo.

      Por favor, alguém pode me ajudar identificar a origem e resolver o problema acima ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Estou enfrentando um problema que não consigo entender.

      Após Instalar o MySql versão 8.0.36, funciona corretamente realizando as conexões.

      O problema é:
      ---[ após reiniciar o micro, o MySql não faz as conexões.
      --[ tenta localizar este arquivo, mas não acha: my.ini
       
      Onde localizo ou configuro este arquivo na Pasta MySql ?

      Grato,
       
      Cesar
    • Por luiz monteiro
      Olá.
      Estou atualizando meu conhecimento com Front-End e me deparei com o seguinte problema.
      Criei um sistema para fazer o upload de imagens e alguns campos text.
      Algo bem simples para depois começar a estudar javascript para mostrar a miniatura....
      Mas quando saio do navegador Chrome ou da aba por mais de 3 minutos, ao retornar o navegador as vezes atualiza ou nem chega atualizar mas limpa os campos.
      Estou usando um Smart Motorola com Android, mas um amigo testou no iPhone e acontece a mesma coisa.
      Gostaria de saber se há como usar javascript para evitar isso?
      Agradeço desde já.

      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <title>Uploader</title>
      </head>
      <body>
          <form action="?" method="post" enctype="multipart/form-data">
              <br><br>
              <div>selecione a imagem 1</div>
              <input type="file" name="foto1" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem1">
              
              <br><br>
              <input type="file" name="foto2" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem2">
              
              <br><br>

              <input type="file" name="foto3" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem3">
              
              <br><br>
              <input type="submit" value="Enviar">
              <br><br>
          </form>
      <?php
      if ($_SERVER['REQUEST_METHOD'] == 'POST')
      {
          vardump ($_FILES);
      }
      ?>
      </body>
      </html>
       
       
       
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, preciso de ajuda em Relação a Instalar o Jasper Reports no Eclipse, pois a opção de Eclipse Marketplace, não encontra para instalar.
       
      Já tentei de todas as formas mas não consegui, alguém conhece alguma rotina explicando este procedimento ?
       
      Grato,
       
      Cesar
×

Informação importante

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