Jump to content
jpivinhema

erro ao receber dados de localstorage

Recommended Posts

boa tarde galera...tenho uma pagina com um button que faço a gravação de dados em locastorage... onde em outra pagina quero o retorno dos dados gravados...os dados estao retornando com esse codigo.

 

esse script esta em outra pagina

 

 

<script>
for(i=1; i<=99; i++) // verifica até 99 dados registrados na localStorage
 {
     var prod = localStorage.getItem("pag" + i + ""); // verifica se há recheio nesta posição.
     if(prod != null)
     {    
         // exibe os dados da lista dentro da div itens...esse codigo esta retornando os valores em texto
         document.getElementById("itens").innerHTML += localStorage.getItem("pag" + i) + " x ";   //isso é um link ex: santos.html
         document.getElementById("itens").innerHTML += localStorage.getItem("titulo" + i) + " x ";  //isso é um titulo ex: santos
         document.getElementById("itens").innerHTML += localStorage.getItem("tag" + i) + "<hr>";  //isso é uma tag  ex: estado

 

// eu queria que o retorno fosse em forma de uma li como esta que esta a baixo

 

<li class="topcoat-list__item"><a href="santos.html">santos</a><br /><span style="font-size:11px;">estado</span></li>

 

 

// tentei fazer dessa forma que esta a baixo mas não esta retornando os dados do DB, o que pode estar errado??

// alguem pod me ajudar por favor
        

 

        document.getElementById("itens").innerHTML += "<li class='topcoat-list__item'>" + "<a href='localStorage.getItem('pag' + i)'>" + "localStorage.getItem('titulo' + i)" + "</a><br /><span style='font-size:11px;'>" + "localStorage.getItem('tag' + i)" + "</span></li>";


     }
 }

</script>

 

 

 

desde ja muito obrigado pela ajuda!!

cats2.jpg

Share this post


Link to post
Share on other sites

boa noite mano como voce ta salvando o storage

 

 
 var items= sessionStorage.getItem('Carinho');


   for (i = 0; i < items.length; i++){
 var produtoHtml = '<li class="topcoat-list__item"><a href="santos.html">santos</a><br /><span style="font-size:11px;">'+items.nome+'</span></li>';


}

 

Share this post


Link to post
Share on other sites
12 horas atrás, Marcos_imasters disse:

boa noite mano como voce ta salvando o storage

 



 

 var items= sessionStorage.getItem('Carinho');


   for (i = 0; i < items.length; i++){
 var produtoHtml = '<li class="topcoat-list__item"><a href="santos.html">santos</a><br /><span style="font-size:11px;">'+items.nome+'</span></li>';


}

 

Bom dia marcos...deixa eu me explicar melhor....na primeira pagina eu tenho mais de 1000 li como essa

 

<li class="topcoat-list__item"><a href="santos.html">santos</a><br /><span style="font-size:11px;">estado</span></li>

 

.q estou colocando manualnente uma por uma ...um form com um button e inputs com dados em hidem.( id...pag...titulo....tag......q no caso esse button faz a gravacao dos dados da li em localstorage...q no caso o button grava o id....o link do href...o texto q esta lincado no href e um texto q esta no span...( tag )..

 

Exemplo modelo da LI

 

<li class="topcoat-list__item"><a href="santos.html">santos</a><br /><span style="font-size:11px;">time</span></li>

 

obs: tenho mais de 1000 lis como esta em uma unica pagina...AI você DEVE PERGUNTAR PRA Q ISSO....IMAGINA..TEM MAIS DE 1000 LI Q ESTA LINCADA A UMA PAGINA PRA CADA LI...ENTAO PENSEI.. SE O USUARIO MARCAR SUAS LI FAVORITAS EX.. UMAS 100 OU 120...ENTAO EU CRIO UMA PAGINA Q RETORNARA ESSAS LI Q ELE ADICIONOU EM FAVORITAS...FACILITANDO SSEU ACESSO E LOCALIZACAO.

 

AI HE A ONDE ENTRA ESSA PAGINA HTML ONDE

NESSA PAGINA TENHO ESSE SCRIPT Q ME RETORNa os dados q esta gravado no localstorage

 

  

<script>
for(i=1; i<=99; i++) // verifica até 99 dados registrados na localStorage
 {
     var prod = localStorage.getItem("pag" + i + ""); // verifica se há recheio nesta posição.
     if(prod != null)
     {    
         // exibe os dados da lista dentro da div itens...esse codigo esta retornando os valores em forma de texto...mas queria q me retornasse na forma de li...como no meu modelo de li.
         document.getElementById("itens").innerHTML += localStorage.getItem("pag" + i) + " x ";   //isso é um link ex: santos.html
         document.getElementById("itens").innerHTML += localStorage.getItem("titulo" + i) + " x ";  //isso é um titulo ex: santos
         document.getElementById("itens").innerHTML += localStorage.getItem("tag" + i) + "<hr>";  //isso é uma tag  ex: tag

 

 

//TENTEI FAZER DESSA FORMA MAS NAO DEU CERTO

        document.getElementById("itens").innerHTML += "<li class='topcoat-list__item'>" + "<a href='localStorage.getItem('pag' + i)'>" + "localStorage.getItem('titulo' + i)" + "</a><br /><span style='font-size:11px;'>" + "localStorage.getItem('tag' + i)" + "</span></li>";


     }
 }

</script>

 

NA VERDADE TUDO ISSO HE UMA APLICACAO OFFLINE EM HTML...

 

OBRIGADO PELA AJUDA.

Share this post


Link to post
Share on other sites

você ta com dificuldade de gerar os elementos?

 

tenta assim qualquer coisa manda o array ai do strogade

  for(i=1; i<=99; i++) // verifica até 99 dados registrados na localStorage
 {
     var prod = localStorage.getItem("pag" + i + ""); // verifica se há recheio nesta posição.
     if(prod != null)     {    
     
        var html = "<li class='topcoat-list__item'><a href='localStorage.getItem('pag' "+ i+")'>" +localStorage.getItem('titulo' + i)+ "</a><br /><span style='font-size:11px;'>" +localStorage.getItem('tag' + i) + "</span></li>";
      
        document.querySelector('.resultado').insertBefore(html, document.querySelector('.resultado').childNodes[0])
     }
 }

 

Share this post


Link to post
Share on other sites
Em 30/06/2018 at 17:06, Marcos_imasters disse:

você ta com dificuldade de gerar os elementos?

 

tenta assim qualquer coisa manda o array ai do strogade


  for(i=1; i<=99; i++) // verifica até 99 dados registrados na localStorage
 {
     var prod = localStorage.getItem("pag" + i + ""); // verifica se há recheio nesta posição.
     if(prod != null)     {    
     
        var html = "<li class='topcoat-list__item'><a href='localStorage.getItem('pag' "+ i+")'>" +localStorage.getItem('titulo' + i)+ "</a><br /><span style='font-size:11px;'>" +localStorage.getItem('tag' + i) + "</span></li>";
      
        document.querySelector('.resultado').insertBefore(html, document.querySelector('.resultado').childNodes[0])
     }
 }

 

Ola marcos....consegui resolver esse problema...mas agora preciso colocar um button dentro de cada li com uma funcao de remover ela do localstorage

 

Seria algo assim??

 

document.getElementById("itens").innerHTML += "<li class='topcoat-list__item'>" + "<a href='" + localStorage.getItem('pag' + i) + "\'>" + localStorage.getItem('titulo' + i) + "</a><br /><span style='font-size:11px;'>" + localStorage.getItem('tag' + i) + "</span><div style='margin:-35px 0px 0px 0px;' align='right'><button type='button' onClick='localStorage.removeItem(como e que valores coloco aqui???); location.reload();'> Excluir </button></div></li>";

Share this post


Link to post
Share on other sites

sim usando onclick da certo sim.

 

exemplo 

onclick='remove_produto("+produto.i+")'




function remove_produto(id){
	
	
	var retrieveArray = JSON.parse(sessionStorage.getItem("Produtos"));
 if(retrieveArray == null) retrieveArray = [];
	
for (i=0; i<retrieveArray.length; i++){
    if (retrieveArray[i].id == id) {
		retrieveArray.splice(i,1)
       sessionStorage.setItem("Produtos", JSON.stringify(retrieveArray));
    }
}

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Richard.Ribeiro
      Fala Pessoal.. Bom dia.. uma ajuda por favor.
      não sei se e a melhor opção mais, gostaria de criar um id sequencial id="material"
      para resolver seguinte problema.. com javascript eu crio select com dados selecionados anteriormente, e crio mais opção no caso de haver mais pedido, porém toda vez que preciso troca a categoria o PRIMEIRO selecte que já possui um item e resetado. como posso resolver isso O PRIMIEIRO SELECT NÃO MUDAR. uma vez que á possui value selected
       
      segue todo código:

        <div id="box" >
        <form id="cadastro"  method="post">
          <?php
            if(isset($_POST['acao'])){
              $ide = $_POST['ide'];
              $data = $_POST['data_pedido'];
              $username=$_SESSION['username'];
              $justificativa = $_POST['justificativa'];
              $id_tipo_material = $_POST['material'];
              $qnt_solicitada = $_POST['qnt_solicitada'];

              //cadastrar no banco de dados!
                  $gravar = new Painel();
                  $id_gsm = $gravar->cadastrarGsm($data,$username,$justificativa,$ide);
                  $gravar->cadastrarItem($id_gsm,$id_tipo_material,$qnt_solicitada);
                  Painel::alert('sucesso','Pedido realizado com sucesso!');
                  }
                  $ConsultaIde = ConexaoBD::conectar()->prepare("SELECT  vsat_gilat, 'IDE: '||vsat_gilat|| ', Situação:'|| situacao|| ', Localidade:'||localidade|| ', Logradouro: '||logradouro as local
        FROM vsat WHERE vsat_gilat != '' AND situacao = 'Ativo'");
                  $ConsultaIde->execute();
                  $ConsultaIde = $ConsultaIde->fetchAll();
        ?>
        <div >
        <div class="form-group">
              <label>Selecione uma IDE</label>
              <select class="ide" name="ide" id="ide" required>
                <option disabled selected>-- Selecione IDE --  </option>
                  <?php
                  foreach ($ConsultaIde as $key => $value) {
                    ?>
                    <option value="<?php echo $value['vsat_gilat'];?>">
                      <?php echo $value['local'];?>

                </option>
              <?php }?>
              </select>

              <label>Data da Solicitação do Material :</label>
              <input type="text"value="<?php   echo date('d/m/Y');    ?>"  name="data_pedido" readonly >
        </div><!--form-group-->
            <div class="form-group">
              <label>Justificativa do pedido:</label>
              <textarea  rows="8" cols="80" name="justificativa" required></textarea>
        </div><!--form-group-->

        <div class="form-group">
              <label>Selecione Sistema:</label>
              <select name="id_categoria" id="id_categoria">
              <option selected disabled> --- Selecione o Sistema ---</option>
            <?php
        $consulta= ConexaoBD::conectar()->prepare("SELECT id_sistema, descricaos FROM public.cadastrar_sistema");
        $consulta->execute();
        while($row_cat_post = $consulta->fetch(PDO::FETCH_ASSOC) ) {
        echo '<option value="'.$row_cat_post['id_sistema'].'">'.$row_cat_post['descricaos'].'</option>';
              }
        ?>
          </select>
        </div><!--form-group-->
        <div class="form-group">
          <label>Selecione Padrão:</label>
          <span class="carregando">Aguarde, carregando...</span>
          <select name="id_sub_categoria" id="id_sub_categoria" >
            <option value="">--- Selecione o Padrão ---</option>
          </select>
        </div><!--form-group-select-->

        </div>
        <div class="pedido">
          <div class="remover">
          <label>Selecione Material:</label>
          <span class="carregando">Aguarde, carregando...</span>
          <select name="material[]" id="material">
            <option value="">--- Selecionte o Material ---</option>
          </select>
          <input type="text" id="quantidade" name="qnt_solicitada[]" placeholder="Digite a Quantidade" >
      <button type="button" name="button" class="removedor">Remover Item</button>
      </div>
      </div>
      </div>
        <button type="button" name="button" class="clonador">Novo Item</button>
        <input type="submit" name="acao" value="Cadastrar!">
        </form>
       
       
       
       
       
       
       
        <script type="text/javascript" src="https://www.google.com/jsapi"></script>
                <script type="text/javascript">
                  google.load("jquery", "1.4.2");
                </script>
      <script  src="<?php echo INCLUDE_PATH_PAINEL ?>js/jquery-3.4.1.min.js"></script>
      <script type="text/javascript">
        $(function(){
          $('#id_categoria').change(function(){
            if( $(this).val() ) {
              $('#id_sub_categoria').hide();
              $('.carregando').show();
              $.get('sub_categorias_post?search=',{id_categoria: $(this).val(), ajax: 'true'}, function(j){
                html = $.parseHTML(j);
                j=JSON.parse(html[16].textContent.trim());
                var options = '<option value="">Escolha Subcategoria</option>';
                for (var i = 0; i < j.length; i++) {
                  options += '<option value="' + j.id + '">' + j.nome_sub_categoria + '</option>';
                }
                $('#id_sub_categoria').html(options).show();
                $('.carregando').hide();
              });
            } else {
              $('#id_sub_categoria').html('<option value="">– Escolha Subcategoria –</option>');
            }
          });
        });
        $(function(){
          $('#id_sub_categoria').change(function(){
            if( $(this).val() ) {
              $('#material').hide();
              $('.carregando').show();
              $.get('sub_categorias_post2?search=',{id_sub_categoria: $(this).val(), ajax: 'true'}, function(j){
                html = $.parseHTML(j);
                console.log(html);
                j=JSON.parse(html[16].textContent.trim());
                var options = '<option value="">Escolha Subcategoria</option>';
                for (var i = 0; i < j.length; i++) {
                  options += '<option value="' + j.id + '">' + j.nome_sub_categoria + '</option>';
                }
                $('#material').html(options).show();
                $('.carregando').hide();
              });
            } else {
              $('#id_sub_categoria2').html('<option value="">– Escolha Subcategoria –</option>');
            }
          });
        });
        </script>
        <script>
        $(document).ready(function(){
       
              $(document).on('click', '.clonador', function(e){
                var elm_html = $('.pedido').html();
                var counter = 0;  //faz uma cópia dos elementos a serem clonados.
                  e.preventDefault();
                  var elementos = elm_html.replace(/\[[0\]]\]/g, '['+ counter +']');  //substitui o valor dos index e incrementa++
                  counter++;
                  $('#cadastro').append(elementos);  //exibe o clone.
              });
          });

          $(document).on('click', '.removedor', function (event) {
            event.preventDefault();
            $(this).parents('.remover').remove(); // navega até o pai com a classe pedido e remove ele inteiro
          });
        </script>
       
        <?php
        die();
        ?>
      </div><!--box-content-->
    • By Renan Leite
      Fala pessoal, Estou utilizando grunt + babel para compilar meu código, acontece que minhas pastas estão organizadas da seguinte maneira.
      - pasta1 - amd -src - arquivo.js - pasta2 - amd -src - arquivo.js - pasta3 -subpasta3 - amd - src -arquivo.js E eu só consigo usar o babel de uma forma muito específico, por exemplo:
      grunt.initConfig({ babel: { options: { sourceMap: false, presets: ['env'] }, dist: { files: [{ expand: true, cwd: './pasta1/amd/src', // aqui so especifico a pasta1 src: ['*.js'], dest: '.pasta1/amd/babel/' // aqui so especifico a pasta1 }] } } Eu queria que ele rodasse em todas as pastas amd/src e gerasse dentro da propria pasta src/ os arquivos compilados pelo babel, já tentei o seguinte:
      grunt.initConfig({ babel: { options: { sourceMap: false, presets: ['env'] }, dist: { files: [{ expand: true, cwd: '**/amd/src', src: ['*.js'], dest: '**/amd/babel/' }] } } CWD: Não sei porque nao funciona, a ideia era pegar todas as pastas que contem as pastas amd/src e tornar isso a base
      DEST: nessa parte eu não faço ideia de como deixar o dest (pasta babel/ gerada) exatamente dentro da pasta que está o src, por exemplo... dentro de pasta1/src criar a pasta babel/ com todos arquivos .js compilados da pasta1, dentro de pasta2/src criar a pasta babel/ com todos arquivos .js compilados da pasta2
    • By thgsousa312
      uma função que recebe uma frase e uma palavra antiga e uma palavra nova. A função deve retornar uma string contendo a frase original, mas com a última ocorrência da palavra antiga substituída pela palavra nova. A entrada e saída de dados deve ser feita no programa principal. Exemplo:  
      Frase: “Quem parte e reparte fica com a maior parte”
      Palavra antiga: “parte”  Palavra nova: “parcela”
      Resultado a ser impresso no programa principal: “Quem parte e reparte fica com a maior parcela”
       
      function trocarNome(){
              
          var frase = document.getElementById("frase").value;
          var strAntiga = document.getElementById("strAntiga").value;
          var strNova = document.getElementById("strNova").value;
          //frase = frase.split(" ");
          var a = frase.lastIndexOf(strAntiga);
          var fras2 = frase.lastIndexOf(strAntiga).replace(strAntiga,strNova);
          document.getElementById("demo").innerHTML = "Certo";
      }
    • By prometheusz
      Amigos bom dia, sou novo aqui
      Tenho a seguinte tabela  :
       
       
      gostaria de capturar os ids quando fosse clicado no botão pegar valor do codigo porem do jeito que fiz ele só captura o 88 nao importa qual mlinha eu clique ele so captura o numero 88
       
      codigo:

       
      <script> $(function () { $(document).on('click', '.btn-danger', function (e) { e.preventDefault; var codigo =document.getElementsByTagName('th')[5].innerHTML; alert(codigo) }); }); </script> <?php while ($dado = ibase_fetch_object($consulta_retorno)){ ?> <tr> <th data-title="ID"><?php echo ($dado->ID)?> </th> <td data-title="Nome"><?php echo utf8_encode($dado->NOME)?></td> <td data-title="DataCompra"><?php echo date("d/m/Y", strtotime($dado->DATACOMPRA))?></td> <td data-title="Email"><?php echo utf8_encode($dado->EMAIL)?></td> <td> <button class="btn-danger">Pegar Valor do Código</button></td> </tr> <?php }?>  
       
    • By VCastilho
      Bom Dia
      Estou fazendo uma pagina do meu site via Elementor, e começou a aparecer alguns erros no console que não consigo localizar a raiz.
      Inclusive a função de Carrossel de Imagens não está funcionando, esta inserido na Div porém não funciona, poderia me ajudar?
      Segue o link referente ao site:
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.