私はtypescriptで遊んでいて、テキストが入力ボックスに入力されたときにp要素を更新するスクリプトを作成しようとしています。
htmlは次のようになります。
<html>
<head>
</head>
<body>
<p id="greet"></p>
<form>
<input id="name" type="text" name="name" value="" onkeyup="greet('name')" />
</form>
</body>
<script src="greeter.js"></script>
</html>
そしてgreeter.ts
ファイル:
function greeter(person)
{
return "Hello, " + person;
}
function greet(elementId)
{
var inputValue = document.getElementById(elementId).value;
if (inputValue.trim() == "")
inputValue = "World";
document.getElementById("greet").innerText = greeter(inputValue);
}
でコンパイルするとtsc
、次の「エラー」が発生します。
/home/bjarkef/sandbox/greeter.ts(8,53): The property 'value' does not exist on value of type 'HTMLElement'
ただし、コンパイラはjavascriptファイルを出力します。これはchromeで問題なく動作します。
どうしてこのエラーが発生するのですか?そして、どうすればそれを修正できますか?
'HTMLElement'
また、 typescriptに従って、どのプロパティが有効であるかをどこで調べることができますか?
私はjavascriptとtypescriptに非常に慣れていないので、明らかな何かが欠けている可能性があることに注意してください。:)