передача формы ввода в JavaScript, а затем обновление холста - PullRequest
0 голосов
/ 13 января 2012

Итак, я пытаюсь передать информацию из формы ввода числового типа в 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, но холст никогда не обновляется сам. Как это исправить? Благодарю.

1 Ответ

0 голосов
/ 13 января 2012

Я думаю, что ваша проблема не в JavaScript, а в HTML, ввод типа "submit" хочет вызвать событие отправки формы, вы просто хотите событие onclick. Попробуйте просто использовать:

<input type="button" value="ENTER CO-ORDINATES" onclick="sendVal(this.form)">

Рабочая JSFiddle: http://jsfiddle.net/nwellcome/mJyps/5/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...