当用户输入的角度不正确时,代码不会显示错误消息

时间:2015-07-05 10:42:10

标签: javascript html canvas

我正在制作一个射弹运动模拟器,并希望在用户输入的角度不在0到90度之间时显示错误信息,但文字永远不会显示

var calculate = function() {        
    var velocity = parseFloat(ctx.getElementById('Velocity').value);
    var angle = parseFloat(ctx.getElementById('Angle').value);
    var initialHeight = parseFloat(ctx.getElementById('Height').value) || 0;
    var vertPlane = parseFloat(ctx.getElementById('Vertical').value);
    var landPlane =  parseFloat(ctx.getElementById('Final-Height').value) || 0;

    if (angle > 90 || angle < 0 || angle === undefined) {
        ctx.restore();
        ctx.save();
        ctx.fillStyle = 'red';
        ctx.fillText("Please pick an angle between 0 and 90 degrees", canvas.width / 2, canvas.height / 2);
        ctx.translate(0, canvas.height);
        ctx.scale(1, -1);

    }
}

其余代码可以在https://jsfiddle.net/xk22k8s7/1/

找到

1 个答案:

答案 0 :(得分:1)

评论是正确的,问题是我使用的是ctx.getElementById而不是document.getElementById,因为这些输入字段不在上下文中,而是在文档中。