[JavaScript] Variável não atualiza valor fora da function()

3 respostas
F

Ola a todos, estou com um problema bem simples. minha variavel não é atualizada na linha 28! mesmo depois que a fuction cumpriu seu papel.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script language="javascript">
var desin = 0;

function Updesin() {
	var desin2
	desin2 = 0;
	if(desin < 10) {
		desin2++;
		desin = desin + desin2;
		alert("Ponto efetuado com sucesso")
	}
	else{
		alert("Pontos maximos atingidos")
		return false;
	}
	return true;
}
</script>
</head>

<body>
<p>
  &lt;input name="des" id="des" onclick="return Updesin()" type="image" src="http://www.marbenjo.com/imagenes/subir.jpg" /&gt; &lt;script language="javascript"&gt; document.write(desin +"/10") &lt;/script&gt;
</p>
&lt;/body&gt;
&lt;/html&gt;

Gostaria de fazer que minha variável "desin", mostre o valor atual. não consigo exportar isso para fora da function!

obrigado \o

3 Respostas

L

O problema é que cada vez que vc executa o método vc deveria atualizar o texto da sua página. Veja o seu exemplo com um text no lugar do paragrafo.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<title>Untitled Document</title>  
<script language="javascript">  
  
function Updesin() {  
    var desin = parseInt(document.getElementById("desin").value, 10);
    if(desin < 10) {  
        desin++;   
        document.getElementById("desin").value = desin;
        alert("Ponto efetuado com sucesso")  
    return true;
    }  
    alert("Pontos maximos atingidos")      
    return false;      
       
}  
</script>  
</head>  
  
<body>  
<p>  
  <input name="des" id="des" onclick="return Updesin()" type="image" src="http://www.marbenjo.com/imagenes/subir.jpg" /> 
  <input type="text" name="desin" id="desin" value = "0" />  
</p>  
</body>  
</html>
F

o codigo realmente funcionou obrigado pela ajuda! só me resta uma duvida para finalizar.

eu consiguiria fazer o mesmo procedimento sem o auxilio dessa text field? apenas a variavel “pura” no corpo da pagina! ?

L

Consegue sim, via JavaScript + DOM, é um pouquinho chato mudar valor de tags HTML via Javascript puro, frameworks JS como JQUERY fazem isso bem mais simples, vale a pena dar uma olhada.

PS: MUUUUUITOS usam o document.getElementById(“id”).innerHTML/innerText para isso, da uma lida sobre isso também.

Criado 16 de outubro de 2011
Ultima resposta 16 de out. de 2011
Respostas 3
Participantes 2