Problemas com laço for javascript

Front-end

17/01/2014

Estou tendo problemas com a exibição de conteúdo por intermédio do laço for.
A saída do comando dentro da div só acontece uma vez, enquanto o log no console funciona normalmente...
Já tentei até o laço for desta maneira:
for(x=0;x<parseInt(y);x++)

Mas o resultado foi o mesmo...
Desde já grato pela atenção !!

function repFor() {
  var y = document.getElementById("pvalor").value;
  var mostrar = document.getElementById("exibeFor");
  for(x=0;x<y;x++) {
    mostrar.innerHTML = "<h6>Escreve o For</h6>";
    console.log("Funciona miserável...");
  }
}

Quantas vezes deseja repetir o for ? <input id="pvalor" type="text">
<input type="button" value="Executa o For" onclick="repFor()">
<div id="exibeFor"></div>
Victor Almeida

Victor Almeida

Curtidas 0

Respostas

Marcelo Pastore

Marcelo Pastore

17/01/2014

desculpa por não entender, mas o codigo completo seria assim?


<!DOCTYPE html>
<html>
<head>
	<title>Teste</title>
	
	
	
	<script type="text/javascript">		
			
	function repFor() {
	  var y = document.getElementById("pvalor").value;
	  var mostrar = document.getElementById("exibeFor");
	  for(x=0;x<y;x++) {
		mostrar.innerHTML = "<h6>Escreve o For</h6>";
		console.log("Funciona miserável...");
	  }
	}
	 
	
		
	</script>
	
</head>	
<body>

	<input id="pvalor" type="text">
	<input type="button" value="Executa o For" onclick="repFor()">
	<div id="exibeFor"></div>
		
</body>
	
</html>

GOSTEI 0
Victor Almeida

Victor Almeida

17/01/2014

Funciona no log do console, mas não no DOM...
Serial algo assim.:
<!DOCTYPE html>
<html>
<head>
    <title>Teste</title>
    <script type="text/javascript"> 
    function repFor() {
      var y = document.getElementById("pvalor").value;
      var mostrar = document.getElementById("exibeFor");
      for(x=0;x<y;x++) {
        mostrar.innerHTML = "<h6>Escreve o For</h6>";
        console.log("Funciona miserável...");
      }
    }    
    </script>
</head>   
<body>
  <form>
    Quantas vezes deseja repetir o for ?<input id="pvalor" type="text">
    <input type="button" value="Executa o For" onclick="repFor()">
    <div id="exibeFor"></div>
  <form>
</body>
</html>
GOSTEI 0
Marcelo Pastore

Marcelo Pastore

17/01/2014

não entendi a função desse x


for(x=0;x<y;x++)

GOSTEI 0
Victor Almeida

Victor Almeida

17/01/2014

não entendi a função desse x


for(x=0;x<y;x++)



Essa linha por extenso:
x é igual a zero; enquanto x for menor que y; some 1 ao x (incremento de 1);

Alguém tem alguma ideia do motivo desse laço for ñ estar funcionando !?
GOSTEI 0
Marcelo Pastore

Marcelo Pastore

17/01/2014

me desculpa, mas da no mesmo declarar x=0 ou somente x, ele vai entender que está zerado.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

17/01/2014

Opa, amigo. No momento em que você faz "ALGO = ALGUMA COISA", você está dizendo que o ALGO vai virar ALGUMA COISA, não que ALGUMA COISA será adicionada ao ALGO. Deu pra entender? Se não, a questão aqui é: se você quer que o conteúdo seja incrementado a cada iteração, você precisa usar um operador de concatenação, ou "+" ou "+=". Por exemplo:
minhaDiv.innerHTML += "Teste..";

Isso vai aumentar "Teste..." em cada iteração, adicionando um novo texto ao final do original. Note que na forma como está, você está apenas atribuindo um novo valor ao innerHTML da div, não somando um novo conteúdo.
Abraço.
GOSTEI 0
Marcelo Pastore

Marcelo Pastore

17/01/2014

poxa, tinha esquecido totalmente do incremento...
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

17/01/2014

Victor, resolveu o problema?
GOSTEI 0
Victor Almeida

Victor Almeida

17/01/2014

Victor, resolveu o problema?


Resolvido sim Joel, muito obrigado msm !!
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

17/01/2014

Valeu, amigo. Estou concluindo o tópico então.
Abraço e bons códigos.
GOSTEI 0
POSTAR