Jump to content
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>\"

Edited by Ted k'
Adicionado a tag CODE

Share this post


Link to post
Share on other sites

Tente:

 

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

 

Share this post


Link to post
Share on other 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.

 

Share this post


Link to post
Share on other 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.

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 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/
    • By 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??
       
       
    • By 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
×

Important Information

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