ユーザーが最初に 10 個の入力ボックスの 1 つをクリックして (フォーカスを与える)、オンスクリーン キーボードを使用してフォーカスされた入力に文字を追加する、単純なオンスクリーン キーボードを実装する必要があります。
私が抱えている問題は、IE (7、8、および 9) では、どの入力ボックスがフォーカスを取得しようとしているかに関係なく、文字が毎回 5 番目の入力ボックスに追加されることです。
なぜこれが起こっているのか誰でも明確にできますか?
以下に、Chrome と Firefox で完全に動作するコードを示します。
<img onClick='addIt("q")' src = 'images/alphabet/q.png' style='width:50px;height:50px;cursor:pointer'></div>
画像をクリックすると、以下に定義されている JS 関数「addIt('q')」が呼び出されます。
function addIt(key){
selectedElement = (document.forms["foo"].elements["focusedField"].value!='')?document.forms["foo"].elements["focusedField"].value:"bar";
d = document.forms["foo"].elements[selectedElement];
d.value = d.value + key;
}
入力ボックスをクリックすると、focusedField が割り当てられます。これは、必要な機能のパスワード タイプです (ユーザーは自分が何を入力しているかを見るべきではありません)。
<input type='password' name='4_1' id = '4_1' onFocus='document.forms["foo"].elements["focusedField"].value = this.name'/>