Ir ao conteúdo
  • Cadastre-se

HwapX

Membro Pleno
  • Posts

    143
  • Cadastrado em

  • Última visita

Tópicos solucionados

  1. O post de HwapX em Radio button que depois de marcado permanece marca mesmo quando atualiza a págin foi marcado como solução   
    Consegui testar no IE e atualizei os exemplos.
    Versão que utiliza cookies https://codepen.io/anon/pen/mxMWLo.
    function autoSaveRadioSelection(radioname) { //Expressão regular para extrair o cookie var regex = new RegExp('('+radioname+'=)([^;]+)'); var match = regex.exec(document.cookie); //Extrai o valor do cookie var selectedValue = match ? match[2] : null; //Busca os radio boxes var radioboxes = document.getElementsByName(radioname); function saveStatus(){ //Data de expiração do cookie data atual + 1 ano var dt = new Date(); dt.setFullYear(dt.getFullYear() + 1); //Monta e grava o cookie document.cookie = this.name + '=' + this.value + '; expires=' + dt + ';path=/;'; }; //Navega pelos radios existentes for(var i = 0; i < radioboxes.length; i++) { radio = radioboxes[i]; //vincula o evento de alteração a função que salva o valor radio.onchange = saveStatus; //Marca ou não o radio comparando seu valor com o valor salvo radio.checked = selectedValue == radio.value; }; } autoSaveRadioSelection('nome do campo'); Versão que utiliza localStorage https://codepen.io/anon/pen/gexLEm.
    function autoSaveRadioSelection(radioname) { //Carrega o valor salvo var selectedValue = localStorage.getItem(radioname); //Busca os radio boxes var radioboxes = document.getElementsByName(radioname); function saveStatus(){ //Grava o valor do radio selecionado localStorage.setItem(this.name, this.value); }; //Navega pelos radios existentes for(var i = 0; i < radioboxes.length; i++) { radio = radioboxes[i]; //vincula o evento de alteração a função que salva o valor radio.onchange = saveStatus; //Marca ou não o radio comparando seu valor com o valor salvo radio.checked = selectedValue == radio.value; }; } autoSaveRadioSelection('nome do campo'); Resumo das alterações o for(key in radioboxes) foi alterado para for(var i = 0; i < radioboxes.length; i++) pois no IE estava iterando sobre as propriedades do objeto radioboxes e não sobre seus itens.
     
    Nos meus testes obtive o seguinte resultado.
    Firefox, memorizou e restaurou a opção após atualizar e reiniciar. Chrome, memorizou e restaurou a opção após atualizar a página(não pude testar reiniciar pois estava utilizando ferramentas online). IE, memorizou e restaurou após atualizar(não pude testar reiniciar pois estava utilizando ferramentas online). EDGE, não pude testar.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...