Advertisement
Guest User

Untitled

a guest
Apr 21st, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.19 KB | None | 0 0
  1. jQuery(function($){
  2.  
  3. //////////////////////////////////////////////////////
  4. function limpa_formulário_cep() {
  5. // Limpa valores do formulário de cep.
  6. $("#billing\\:street1").val("");
  7. $("#billing\\:city").val("");
  8. $("#billing\\:region_id").val("");
  9. }
  10.  
  11. $("#billing\\:region_id option[value='485']").attr("data-sigla", "AC");
  12. $("#billing\\:region_id option[value='486']").attr("data-sigla", "AL");
  13. $("#billing\\:region_id option[value='487']").attr("data-sigla", "AP");
  14. $("#billing\\:region_id option[value='488']").attr("data-sigla", "AM");
  15. $("#billing\\:region_id option[value='489']").attr("data-sigla", "BA");
  16. $("#billing\\:region_id option[value='490']").attr("data-sigla", "CE");
  17. $("#billing\\:region_id option[value='511']").attr("data-sigla", "DF");
  18. $("#billing\\:region_id option[value='491']").attr("data-sigla", "ES");
  19. $("#billing\\:region_id option[value='492']").attr("data-sigla", "GO");
  20. $("#billing\\:region_id option[value='493']").attr("data-sigla", "MA");
  21. $("#billing\\:region_id option[value='495']").attr("data-sigla", "MS");
  22. $("#billing\\:region_id option[value='494']").attr("data-sigla", "MT");
  23. $("#billing\\:region_id option[value='496']").attr("data-sigla", "MG");
  24. $("#billing\\:region_id option[value='499']").attr("data-sigla", "PR");
  25. $("#billing\\:region_id option[value='498']").attr("data-sigla", "PB");
  26. $("#billing\\:region_id option[value='497']").attr("data-sigla", "PA");
  27. $("#billing\\:region_id option[value='500']").attr("data-sigla", "PE");
  28. $("#billing\\:region_id option[value='501']").attr("data-sigla", "PI");
  29. $("#billing\\:region_id option[value='502']").attr("data-sigla", "RJ");
  30. $("#billing\\:region_id option[value='503']").attr("data-sigla", "RN");
  31. $("#billing\\:region_id option[value='504']").attr("data-sigla", "RS");
  32. $("#billing\\:region_id option[value='505']").attr("data-sigla", "RO");
  33. $("#billing\\:region_id option[value='506']").attr("data-sigla", "RR");
  34. $("#billing\\:region_id option[value='507']").attr("data-sigla", "SC");
  35. $("#billing\\:region_id option[value='509']").attr("data-sigla", "SE");
  36. $("#billing\\:region_id option[value='508']").attr("data-sigla", "SP");
  37. $("#billing\\:region_id option[value='510']").attr("data-sigla", "TO");
  38.  
  39. //Quando o campo cep perde o foco.
  40. $("#billing\\:postcode").blur(function() {
  41.  
  42. //Nova variável "cep" somente com dígitos.
  43. var cep = $(this).val().replace(/\D/g, '');
  44.  
  45. //Verifica se campo cep possui valor informado.
  46. if (cep != "") {
  47.  
  48. //Expressão regular para validar o CEP.
  49. var validacep = /^[0-9]{8}$/;
  50.  
  51. //Valida o formato do CEP.
  52. if(validacep.test(cep)) {
  53.  
  54. //Preenche os campos com "..." enquanto consulta webservice.
  55. $("#billing\\:street1").val("...")
  56. $("#billing\\:city").val("...")
  57. $("#billing\\:region_id").val("...")
  58.  
  59. //Consulta o webservice viacep.com.br/
  60. $.getJSON("//viacep.com.br/ws/"+ cep +"/json/?callback=?", function(dados) {
  61.  
  62. if (!("erro" in dados)) {
  63. //Atualiza os campos com os valores da consulta.
  64. $("#billing\\:street1").val(dados.logradouro);
  65. $("#billing\\:city").val(dados.localidade);
  66. $('#billing\\:region_id option').each(function() {
  67. $(this).attr('selected', this.dataset.sigla == dados.uf);
  68. });
  69.  
  70. } //end if.
  71. else {
  72. //CEP pesquisado não foi encontrado.
  73. limpa_formulário_cep();
  74. alert("CEP não encontrado.");
  75. }
  76. });
  77. } //end if.
  78. else {
  79. //cep é inválido.
  80. limpa_formulário_cep();
  81. alert("Formato de CEP inválido.");
  82. }
  83. } //end if.
  84. else {
  85. //cep sem valor, limpa formulário.
  86. limpa_formulário_cep();
  87. }
  88. });
  89. //////////////////////////////////////////////////////
  90. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement