MediaWiki:AddressFromCep.js: mudanças entre as edições

De Wikincat
Ir para navegação Ir para pesquisar
Conteúdo deletado Conteúdo adicionado
version without jQuery
 
Sem resumo de edição
 
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada)
Linha 1: Linha 1:
/* jshint esversion: 10 */
// Adapted from https://viacep.com.br/exemplo/javascript/
// Adapted from https://viacep.com.br/exemplo/javascript/
function cleanAddressesFields() {
function cleanAddressesFields() {
// It cleans values from addresses fields.
// It cleans values from addresses fields.
document.getElementById("input_6").value = ("");
document.getElementById('input_6').value = '';
document.getElementById("input_7").value = ("");
document.getElementById('input_7').value = '';
document.getElementById("input_8").value = ("");
document.getElementById('input_8').value = '';
document.getElementById("input_9").value = ("");
document.getElementById('input_9').value = '';
}
}
function myCallback(dados) {
function myCallback(dados) {
if (!("erro" in dados)) {
if (!('erro' in dados)) {
// It updates the addresses fields with the data from the query.
// It updates the addresses fields with the data from the query.
document.getElementById("input_6").value = (dados.logradouro);
document.getElementById('input_6').value = dados.logradouro;
document.getElementById("input_7").value = (dados.bairro);
document.getElementById('input_7').value = dados.bairro;
document.getElementById("input_8").value = (dados.localidade);
document.getElementById('input_8').value = dados.localidade;
document.getElementById("input_9").value = (dados.uf);
document.getElementById('input_9').value = dados.uf;
}
} else {
// The CEP searched was not found.
else {
cleanAddressesFields();
// The CEP searched was not found.
alert('CEP não encontrado.');
cleanAddressesFields();
}
alert("CEP não encontrado.");
}
}
}
function searchCep(value) {
function searchCep(value) {
// A new variable "cep" is made with only digits.
// A new variable "cep" is made with only digits.
let cep = value.replace(/\D/g, "");
const cep = value.replace(/\D/g, '');
// Testing if the CEP variable has any value.
// Testing if the CEP variable has any value.
if (cep !== "") {
if (cep !== '') {
// Regular expression to validate CEP.
// Regular expression to validate CEP.
let cepValidator = /^[0-9]{8}$/;
const cepValidator = /^[0-9]{8}$/;
// Testing CEP validation. If true...
// Testing CEP validation. If true...
if (cepValidator.test(cep)) {
if (cepValidator.test(cep)) {
// It fills the address fields with "..." while the web service is busy.
// It fills the address fields with "..." while the web service is busy.
document.getElementById("input_6").value = "...";
document.getElementById('input_6').value = '...';
document.getElementById("input_7").value = "...";
document.getElementById('input_7').value = '...';
document.getElementById("input_8").value = "...";
document.getElementById('input_8').value = '...';
document.getElementById("input_9").value = "...";
document.getElementById('input_9').value = '...';
// It creates a javaScript element.
// It creates a javaScript element.
let script = document.createElement("script");
const script = document.createElement('script');
// It sincronizes with callback.
// It sincronizes with callback.
script.src = "https://viacep.com.br/ws/" + cep + "/json/?callback=myCallback";
script.src = `https://viacep.com.br/ws/${cep}/json/?callback=myCallback`;
// It inserts the script into the document and load the contents.
// It inserts the script into the document and load the contents.
document.body.appendChild(script);
document.body.appendChild(script);
}
} else {
else {
// The CEP is invalid.
cleanAddressesFields();
// The CEP is invalid.
cleanAddressesFields();
alert('Formato de CEP inválido.');
alert("Formato de CEP inválido.");
}
}
else {
// The CEP is empty, it cleans the form fields.
cleanAddressesFields();
}
}
} else {
// The CEP is empty, it cleans the form fields.
cleanAddressesFields();
}
}
}
document
document.getElementById("input_4").setAttribute("onblur", "searchCep(this.value)");
.getElementById('input_4')
.setAttribute('onblur', 'searchCep(this.value)');

Edição atual tal como às 11h28min de 17 de março de 2024

/* jshint esversion: 10 */
// Adapted from https://viacep.com.br/exemplo/javascript/
function cleanAddressesFields() {
  // It cleans values from addresses fields.
  document.getElementById('input_6').value = '';
  document.getElementById('input_7').value = '';
  document.getElementById('input_8').value = '';
  document.getElementById('input_9').value = '';
}
function myCallback(dados) {
  if (!('erro' in dados)) {
    // It updates the addresses fields with the data from the query.
    document.getElementById('input_6').value = dados.logradouro;
    document.getElementById('input_7').value = dados.bairro;
    document.getElementById('input_8').value = dados.localidade;
    document.getElementById('input_9').value = dados.uf;
  } else {
    // The CEP searched was not found.
    cleanAddressesFields();
    alert('CEP não encontrado.');
  }
}
function searchCep(value) {
  // A new variable "cep" is made with only digits.
  const cep = value.replace(/\D/g, '');
  // Testing if the CEP variable has any value.
  if (cep !== '') {
    // Regular expression to validate CEP.
    const cepValidator = /^[0-9]{8}$/;
    // Testing CEP validation. If true...
    if (cepValidator.test(cep)) {
      // It fills the address fields with "..." while the web service is busy.
      document.getElementById('input_6').value = '...';
      document.getElementById('input_7').value = '...';
      document.getElementById('input_8').value = '...';
      document.getElementById('input_9').value = '...';
      // It creates a javaScript element.
      const script = document.createElement('script');
      // It sincronizes with callback.
      script.src = `https://viacep.com.br/ws/${cep}/json/?callback=myCallback`;
      // It inserts the script into the document and load the contents.
      document.body.appendChild(script);
    } else {
      // The CEP is invalid.
      cleanAddressesFields();
      alert('Formato de CEP inválido.');
    }
  } else {
    // The CEP is empty, it cleans the form fields.
    cleanAddressesFields();
  }
}
document
  .getElementById('input_4')
  .setAttribute('onblur', 'searchCep(this.value)');