1

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

扫描第一个字段时,以下 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 中按预期工作。

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

我感谢任何输入/帮助。

4

1 回答 1

0

似乎只有在您已将站点添加到主屏幕并使用此链接打开站点时,focus() 才有效。

于 2013-07-04T14:17:50.037 回答