移动Safari - 有趣的焦点()

时间:2012-05-10 22:36:55

标签: javascript ipad mobile safari

我正在开发一个使用Mobile Safari浏览器专门发送给iPad客户端的网络应用程序。我的表单有两个输入字段,两个输入字段都将填充配对蓝牙条码扫描器的数据。

当扫描第一个字段时,以下javascript会监视返回按键,它会解析传入的字符串,然后将焦点设置为数量字段...

    function tabtoquantity(e) {
    keyEntry = event.keyCode; 
    if(keyEntry == '13') {
        var barcode = document.test.barcodefield.value;
        var labeltext = barcode.split("*");
        document.test.itemkey.value = labeltext[0];
        document.test.description.value = labeltext[1];
        document.test.lotno.value = labeltext[2];
        document.test.datercvd.value = labeltext[3];
        document.test.binno.value = labeltext[4];
        document.test.unitwgt.value = labeltext[5];
        document.test.slot.value = labeltext[6];
        document.test.allergens.value = labeltext[7];
        document.test.kosher.value = labeltext[8];

        //document.test.barcodefield.disabled="true";
        //document.test.barcodefield.style.display="none";

        document.test.scanqty.focus();
    }
    else if((keyEntry < '48') || (keyEntry > '57'))  {
        return false;             
    }
}

这一切都很有效,除了它没有将焦点设置到我的scanqty字段。

奇怪的是,我在scanqty字段旁边有一个按钮,onClick调用以下函数:

    function qtyreset() {
    document.test.scanqty.value = '';
    document.test.scanqty.focus();
}

我不知道为什么同一个命令在一个实例中起作用而在另一个实例中起作用。该功能可在常规Safari中使用。

也许它是相关的(?)但是当我加载页面时,Mobile Safari的表单助手(上一页和下一页按钮)出现但在我将数据扫描到第一个字段后消失...我希望它将焦点设置为scanqty领域,但似乎无处可聚焦。

感谢任何输入/帮助。

1 个答案:

答案 0 :(得分:0)

如果您已将网站添加到主屏幕并使用此链接打开网站,则focus()似乎只有效。