atribuir valor de campo TEXT para variável em JAVASCRIPT
Olá, estou tentando atribuir o valor para uma variável a partir de um campo input e depois colocá-lo como um dos valores no campo de valores ctx.fillRect do canvas.
ctx.fillRect(100,100, **minha variável** , 0);
porém, não está funcionando.
se alguém puder me ajudar, agradeço.
ctx.fillRect(100,100, **minha variável** , 0);
porém, não está funcionando.
se alguém puder me ajudar, agradeço.
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" >
function draw() {
var valor = document.getElementById('valor').value;
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "rgb(200,0,0)";
ctx.fillRect (100, 100, x, 50);
}
</script>
<style>
#canvas{
border: 1px solid black;
margin-left:30%;
margin-top:10%;
}
</style>
</head>
<body onload="draw();">
<canvas id="canvas" width="300" height="300"></canvas>
<input type="text" id="valor">
<input type="button" onclick="draw();" value="enviar">
</body>
</html>
Nairan
Curtidas 0
Melhor post
Victor Machado
11/10/2016
Olá Nairan.
Eu testei o seu código com a sua correção, ele está funcionando.
A unica coisa que você precisa fazer é limpar o canvas quando for criar um novo retângulo.
E colocar o tipo do input para number.
Eu testei o seu código com a sua correção, ele está funcionando.
A unica coisa que você precisa fazer é limpar o canvas quando for criar um novo retângulo.
E colocar o tipo do input para number.
<input type="number" id="valor">
GOSTEI 2
Mais Respostas
Nairan
10/10/2016
CORREÇÃO, em ctx.fillRect (100, 100, x, 50);
no lugar da variável "x" é "valor".
no lugar da variável "x" é "valor".
GOSTEI 0
Nairan
10/10/2016
Primeiramente, obrigado Hugo pela ajuda.
Como eu poderia limpar a tela?
Como eu poderia limpar a tela?
GOSTEI 0
Nairan
10/10/2016
Primeiramente, obrigado Hugo pela ajuda.
Como eu poderia limpar a tela?
Como eu poderia limpar a tela?
GOSTEI 0
Victor Machado
10/10/2016
Olá Nairan, me desculpe pela demora.
Para limpar você só precisa colocar essa linha antes de desenhar novamente.
A sua função Draw ficará assim:
Para limpar você só precisa colocar essa linha antes de desenhar novamente.
ctx.clearRect(0, 0, canvas.width, canvas.height);
A sua função Draw ficará assim:
function draw() {
var valor = document.getElementById('valor').value;
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "rgb(200,0,0)";
ctx.clearRect(0, 0, canvas.width, canvas.height); //limpa o canvas
ctx.fillRect (100, 100, valor , 50);
}
GOSTEI 0