Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Clayton Baroboskin

innerHTML x javascript - undefined

Recommended Posts

A rotina funciona, mas antes de escrever o texto, aparece "undefined".

E ainda as tags HTML aparecem como texto...

 

//Efeito digitação

function escrever(texto) {
  var div = document.getElementById('container_');    
  var char = texto.split('').reverse();
  var typer = setInterval(function() {
    if (!char.length) return clearInterval(typer);
    var next = char.pop();
    div.innerHTML += next;
  }, 50);
}



//Função de envio de mensagem

function send_message(message){
 
     //Função de resposta do botão 
    var prevMsg = $("#container_").html();
         $("#container_").html(prevMsg + " <span class= 'current_message'>"+  Mutuo<span class = 'botf'>Sim</span> :  </span> \
              <spam class='botmsg'>"+ escrever(message) +"</span>" + "<br>");
   


    
            $('#container_').animate({
                scrollTop: $('#container_').get(0).scrollHeight
            }, 1500);

   }


 

 

escrever("Apenas mais uma informação para efeito de cadastro:  <br>\  <<== Aparece ao final da mensagem  "<br>\"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente:

 

$("#container_").html(prevMsg + "<span class='current_message'>" +  Mutuo + "<span class = 'botf'>Sim</span> :  </span> \ <spam class='botmsg'>"+ escrever(message) + "</span><br>");

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 horas atrás, Ted k' disse:

Tente:

 


$("#container_").html(prevMsg + "<span class='current_message'>" +  Mutuo + "<span class = 'botf'>Sim</span> :  </span> \ <spam class='botmsg'>"+ escrever(message) + "</span><br>");

 

Mesma coisa,  Ted.
"Mutuo" não é variável.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

aparece undefined porque a função escrever não tem retorno.

 

o que você tem que fazer é fazer a função escrever escrever dentro do span diretamente. Sem concatenar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por edyr0x
      preciso de um script, tipo esse que usa innerHTML pra me dar a opção de cadastrar 1, 2, 3 ou mais pessoas e ainda calcula a data de nascimento preenchendo a idade... mas aí que tá... 
      quando preencho os dados do(s) COMPRADOR(es) quando clico pra setar a quantidade de VENDEDOR(ES) ele zera tudo que eu preenchi no COMPRADOR... no que errei??
       
      segue o link:
      https://jsfiddle.net/745yr0vm/
    • Por halfar
      com o codigo abaixo:
       
       
      recupero o valor de uma caixa de texto em um formulario,
       
      depois este valor é exibido em outra div. Para fazer isto, usamos:
       
       
       
      só que se o texto tiver tags htmls, o texto é cortado, não passa com formatação correta.
       
      Por exemplo, o texto abaixo pode dar problemas:
       
       
      se eu verificar com um alert(texto) para checar o conteudo da variavel "texto", está tudo certinho, mas quando passa para a div, o texto está danificado.
      tem como resolver isto??
       
       
    • Por Osvaldo1br
      Eu tinha um sistema de notícia que pegava o arquivo rss2 e convertia para json, utilizando um site a parte, pega o arquivo json retira os dados necessário: DATA e HORA, TÍTULO e os inseria na div id="content", porém do nada parou de funcionar, eu vasculhei várias vezes e não achei nenhum erro, segue abaixo os códigos pertinentes:
      <div id="noticia"></div> <section id="noticiad" > <h2>Notícia(s)</h2> <hr><br> <div id="content"></div> <div id="nojava" class="nojavaativ"> Seu navegador não suporta esta função. Para ler as notícias clique no link "Ler mais...".</div> <div id="info"><a href="http://noticias.portalbrasilcentral.com.br/" target="_blank">Ler mais...</a></div> </section> /*noticias*/ #nojava{ font-size:2.0em; } .nojavadesativ{ display:none;} .nojavaativ{ display:block;} #noticia{ margin-bottom:25em; } #noticiad { border:outset #0000FF; width: 80%; margin: 0 auto; margin-bottom: 5em; margin-top: 10em; height: 340px; background-color:#FFFFFF; } #content p{ text-align: left; margin-bottom:0.1em; font-size: 2.0em; } #info { text-align: right; margin-top:0.3em; font-size: 1.6em; } /*fim noticias*/ //noticias rss var content = document.getElementById('content'); var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function(){ if (xhr.readyState==4 && xhr.status==200) { var data = JSON.parse(xhr.responseText); if(data.status == 'ok'){ var output = ''; for(var i=0;i<5;++i){ var dataerrada = data.items[i].pubDate; output += '<p><a href="' + data.items[i].link + '" target="_self">' + data.items[i].title + '</a></p><p>' + datacorreta(dataerrada) + '</p><hr>'; } content.innerHTML = output; if (document.getElementById("content").innerHTML == "") { document.getElementById('nojava').className = 'nojavaativ'; } else { document.getElementById('nojava').className = 'nojavadesativ'; } } } }; xhr.open('GET','https://api.rss2json.com/v1/api.json?rss_url=http%3A%2F%2Ffeeds.feedburner.com%2FUBERLAN',true); xhr.send(); //função converter data do RSS para formato brasileiro function datacorreta(datapega) { var dataarray = datapega.split(""); var ano = dataarray[0]+ dataarray[1] + dataarray[2] + dataarray[3]; var mes = dataarray[5]+ dataarray[6]; var dia = dataarray[8] + dataarray[9]; var horas = dataarray[11] + dataarray[12]; var minutos = dataarray[14] + dataarray[15]; return dia + "/" + mes + "/" + ano + "    " + horas + ":" + minutos; } Se alguém conseguir desvendar este mistério ou tiver algo melhor eu agradeço.
      Obs.: Site: http://uberlan.portalbrasilcentral.com.br/#noticia
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.