私は今日javascriptを開始し、この問題についてWeb上で調査を行いました。しかし、特に私が書いたこのコードでは、クロージャの使用法のコツをつかむことができませんでした:
function writeit()
{
var tbox = document.getElementById('a_tbox').value;
var letters = tbox.split("");
for(var i=0;i<letters.length;i++)
{
if(letters[i]==="a")
{
document.a_form.b_tbox.value = i+1 + ". character is a";
}
else if(letters[i]==="b")
{
document.a_form.b_tbox.value = i+1 + ". character is b";
}
else
{
document.a_form.b_tbox.value = i+1 + ". character is not a nor b";
}
}
}
ここに表示されているように、テキストボックスから文字列を取得し、それを配列に分割し、forループを使用してその中の値を変更したいと思います。私のコードに期待するのは、テキストボックスにユーザーの貢献として「abc」が含まれている場合、出力は「1.値は2です。値はbです。3。値はaでもbでもありません」です。ただし、出力として「3.値はaでもbでもない」のみが表示されます。この問題を防ぐために何ができるでしょうか?