将表单输入传递给javascript,然后更新画布
passing form input to javascript and then updating canvas
所以我在这里要做的是将信息从数字类型的输入表单传递给javascript,然后用更新的变量数据重新绘制画布。
到目前为止,我得到的是:
<!DOCTYPE HTML>
<html>
<head>
<script language = "JavaScript">
var canvas;
var context;
var _x = 0;
function draw(newx) {
context.rect(newx,100,100,100)
context.strokeStyle = "red"
context.stroke()
}
function sendVal(form) {
_x = form.xx.value;
context.clearRect(0,0,canvas.width,canvas.height);
draw(_x);
}
window.onload = function() {
canvas = document.getElementById("myCanvas");
context = canvas.getContext("2d");
context.rect(_x,100,100,100);
context.strokeStyle = "blue";
context.stroke();
};
</script>
</head>
<body>
<FORM NAME="SENDX" ACTION="" METHOD="GET">
Enter X: <INPUT TYPE="number" NAME="xx">
<INPUT TYPE="submit" VALUE="ENTER CO-ORDINATES" onClick="sendVal(this.form)">
</FORM>
<canvas id="myCanvas" width="500" height="500"></canvas>
</body>
</html>
正如您在上面看到的,我已经尝试将画布的上下文变量公开,这样我就可以从javascript的另一部分访问它的函数,但画布永远不会更新自己。我该如何解决这个问题?谢谢
我认为问题不在于JavaScript,而在于HTML,类型为"submit"的输入想要引起表单提交事件,您只需要onclick事件。尝试使用:
<input type="button" value="ENTER CO-ORDINATES" onclick="sendVal(this.form)">
工作JSFiddle:http://jsfiddle.net/nwellcome/mJyps/5/
相关文章:
- 获取Div Width,然后更新Scope Variable
- 更新Redux状态&然后在同一实例中获取更新状态
- Angular js,在选择元素上,我想 POST 数据以将其保存在数据库中,然后我想使用 PUT 更新它而无需重新加载
- Chrome扩展程序 - 页面更新两次,然后在YouTube上删除
- 从iframe调用Parent函数,然后更新iframe表单值
- 无法更新 Javascript 对象文本中的值,然后更新页面
- 按类和自定义属性值查找元素(然后更新它)
- 复制对象,然后更新 JSON 对象中的值
- 获取 IFrame 源,然后更新输入文本框
- 如何检查表中的新内容,然后更新浏览器选项卡标题
- 将JS数组传递给PHP,然后更新MySQL
- 将表单输入传递给javascript,然后更新画布
- Javascript通过对象通过引用然后更新
- X-editable提示,然后更新值
- 使用多个键/值对查找JSON对象,然后更新该对象的其他属性
- 将ajax调用返回的数据添加到UL中,然后更新jQuery quicksand
- 如何使用jQuery删除HTML行,然后更新到数据库
- Jquery追加然后更新元素id
- 自动检测新的内容从mysql,然后更新页面不刷新
- 单击控制器操作(远程:true),然后更新 href