Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Como utilizar for em um innerHTML

Estou criando uma function que quando for chamada ela repete várias vezes dentro de uma DIV o que está escrito no innerHTML. Só que eu não entendi como usar o for com o getElement.

        function repeticao() {
            for(var i = 0; i < 20; i++) {
                parseInt(document.getElementById("resultado-repeticao").innerHTML = "Repetição") * i;
            }
        }

        repeticao();

Não sei se a lógica está certa. Se alguém puder dar uma ajuda! Valeu!

4 respostas
solução!

Oi Higor, tudo bom?

Não entendi muito bem a sua dúvida, será que poderia explicar melhor seu objetivo?

Se seu objetivo for adicionar um texto varias vezes dentro de uma div utilizando o innerHTML, o código abaixo deve funcionar, mas imagino que não seja isso hahaha

        function repeticao() {
            for(var i = 0; i < 20; i++) {
                document.getElementById("resultado-repeticao").innerHTML += "Repetição";
            }
        }

        repeticao();

De qualquer forma, espero ter ajudado!

Abraços!

Funcionou!!! Era isso mesmo que eu queria fazer!!! Valeu manooooo

Opa Higor!

Fico feliz que tenha conseguido!

Só queria te dar um heads up a mais!

Tome cuidado quando for utilizar o innerHTML, caso seja uma entrada do usuário, você terá que tratar essa entrada a fim de evitar ataques XSS (cross-site scripting). Por isso analise bem para saber se você tem controle total desse dado.

Caso você queira saber mais sobre isso, veja esse post da wikipédia. Dê uma olhada também nesse tópico do stackoverflow (está em ingles) para entender como podemos nos proteger.

A ideia é codificar a entrada do usuário! Existem também bibliotecas que já trazem prontas essas funcionalidades para nos ajudar a "sanitizar" o a entrada!

Espero ter ajudado!

Abraços e bons estudos!

Obrigado pelo toque Paulo!. Vou dar uma estudada no assunto. Só pra sanar mais uma dúvida. Se eu criar um formulário, e esse formulário depois que o usuário enviar, utilizar um innerHTML em algum lugar da página. Então todos os campos do formulário teriam de ser tratados para evitar esse tipo de ataque?