私は、HTML5 Canvas を使用した一種の名刺メーカーに取り組んでいます。カスタムの名前、住所などを取得するには、現在 PROMPT Box を使用しています...
今私が得たものは次のとおりです。
変数を定義するには
var name = prompt("Votre nom","")
var address = prompt("Votre adresse","")
var title = prompt("Votre titre","")
次に、キャンバスに描画します。
img.onload = function(){
oCtx.drawImage(img,0,0);
oCtx.font = "normal 25px arial"; // different font
oCtx.textBaseline = "top"; // text baseline at the top
oCtx.fillStyle = "#00529e";
oCtx.fillText(address, 283, 138);
oCtx.font = "bold 45px arial"; // different font
oCtx.fillText(name, 283, 350);
oCtx.font = "normal 40px arial"; // different font
oCtx.fillText(title, 283, 410);
};
img.src="back.png";
PROMPT ボックスから値を取得することはうまく機能しています。しかし、代わりにユーザーのテキストボックスをよりクリーンにしたいと思います。
したがって、Canvas の横にあるテキスト ボックスに入力するだけで、テキスト ボックスに入力すると、「名前」変数、「アドレス」、または「タイトル」の内容が自動的に更新されます。
どうすればこれを機能させることができますか?
編集
これが私が試したものです...しかし、それは機能していません:
<input type="text" id="testing"/>
このテキストボックスに入力してから更新します:
oCtx.fillText(document.getElementById('testing').value), 282, 138);
現在、それは次のとおりです。
oCtx.fillText(address, 282, 138);
ありがとう
編集2
私は試した :
document.getElementById("testing").addEventListener("change", function() {
var val = document.getElementById("testing").value;
// now use val in your existing fillText code
});
「testing」はテキストボックスのIDです...そして、fillTextを次のように変更しました:
oCtx.fillText(val, 282, 138);
しかし、テキストボックスに入力しても何も起こりません...理由は何ですか?