1

这个问题让我非常困惑,所以欢迎任何见解。

我正在尝试在 javascript 中创建一个输入掩码。输入的格式必须为 AA1111(其中 A=大写字母,1=数字)。本网站设计用于黑莓浏览器 (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