1

この問題は私を完全に困惑させたので、どんな洞察も歓迎します。

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 のバグですか、それとも何か間違っていますか? 回避策のアイデアはありますか?

どうもありがとう。

4

0 に答える 0