この問題は私を完全に困惑させたので、どんな洞察も歓迎します。
JavaScript で入力マスクを作成しようとしています。入力の形式は AA1111 (A = 大文字、1 = 数字) でなければなりません。このサイトは、Blackberry ブラウザー (OS6 Webkit) で使用するように設計されています。
入力の内容を書き換える onkeyup イベントで JavaScript をトリガーしています。
<script>
function checkInput(x) {
var y = document.getElementById(x).value;
var c = y.slice(-1);
var n = "";
if (y.length < 3) n = c.toUpperCase();
else if (y.length < 7) n = convertToNum(c.toUpperCase());
document.getElementById(x).value = y.slice(0, y.length - 1) + n;
}
Input:<input type="text" id="search" class="big" OnKeyUp="checkInput(this.id);" autofocus="true" />
Firefox と IE ではこれは期待どおりに機能しますが、Blackberry (および Chrome) では、入力フィールドが常に正しい文字と数字で更新されるとは限りません。最初のロードで動作し、最初の更新後に停止するようです。動作していないときに DOM を調べると、.value 属性が正しく更新されていることが示されますが、これはブラウザー ウィンドウには表示されません。
ここで例を設定しましたhttp://aspspider.info/jessop 私がやろうとしていることを説明するために。これを Webkit ブラウザー (OS6 Blackberry が理想的です!) で試してみると、私の問題が表示されることを願っています。
これは Webkit のバグですか、それとも何か間違っていますか? 回避策のアイデアはありますか?
どうもありがとう。