Ir ao conteúdo
  • Cadastre-se

kiwsty

Membro Júnior
  • Posts

    10
  • Cadastrado em

  • Última visita

Reputação

1
  1. Descobri o problema, eram os espaços no script. CÓDIGO COM ERRO <script> 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('test'); </script> -------------------------------------------------------------------------------- CÓDIGO SEM ERRO <script>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('test'); </script> adicionado 4 minutos depois Obrigado pela ajuda, está funcionando perfeitamente em todos os navegadores.
  2. Testei no EDGE e tá funcionando, mas no meu site não. Não sei se pode ser algum erro no código. <!DOCTYPE html> <html> <body> <div id="radiobox-container"> <div> <label> Option 1 <input type="radio" name="test" value="option1"> </label> </div> <div> <label> Option 2 <input type="radio" name="test" value="option2"> </label> </div> <div> <label> Option 3 <input type="radio" name="test" value="option3"> </label> </div> </div> <script> 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('test'); </script> </body> </html>
  3. O ultimo código postado ainda continua não funcionando no IE e nem EDGE. Deu tempo de testar em meu site, mas não ta funcionando. No Chrome limpa a seleção quando atualiza, já no Firefox permanece quando atualiza mas se fechar o navegador ou mudar de página, também limpa a seleção. Não sei o que pode ta errado com o código, se puder me ajudar eu agradeço. <!DOCTYPE html> <html> <body> <div id="radiobox-container"> <div> <label> Option 1 <input type="radio" name="test" value="option1"> </label> </div> <div> <label> Option 2 <input type="radio" name="test" value="option2"> </label> </div> <div> <label> Option 3 <input type="radio" name="test" value="option3"> </label> </div> </div> <script> 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(key in radioboxes) { radio = radioboxes[key]; //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('test'); </script> </body> </html>
  4. Funcionou no Chrome, mas no IE e EDGE não. Amanhã vou tentar no meu site, porque hoje não dá mais tempo. Obrigado pela a ajuda.
  5. Testei no codepen pelo Firefox e funcionou, mas pelo Chrome e Internet Explorer não funcionou.
  6. Infelizmente está avançado demais pra mim. O que eu queria, pode ser encontrado nesse exemplo, mas não funciona em meu site.
  7. Eu gostaria de saber se tem como criar um radio button que quando o usuário assinale ele permaneça marcado mesmo depois de atualizar ou fechar o navegador, para quando ele voltar ainda permaneça da forma que ele marcou.

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...