Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 移动Safari-聚焦乐趣()_Javascript_Ipad_Mobile_Safari - Fatal编程技术网

Javascript 移动Safari-聚焦乐趣()

Javascript 移动Safari-聚焦乐趣(),javascript,ipad,mobile,safari,Javascript,Ipad,Mobile,Safari,我正在开发一个web应用程序,专门使用移动Safari浏览器交付给iPad客户。“我的表单”有两个输入字段,这两个字段都将填充来自配对蓝牙条形码扫描仪的数据 扫描第一个字段时,下面的javascript监视返回键,返回键解析传入字符串,然后将焦点设置为数量字段 function tabtoquantity(e) { keyEntry = event.keyCode; if(keyEntry == '13') { var barcode = documen

我正在开发一个web应用程序,专门使用移动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;             
    }
}
我不明白为什么同一个命令在一个实例中有效,而在另一个实例中无效。该功能在常规Safari中正常工作

也许这是相关的,但Mobile Safari的表单助手Prev和Next按钮在我加载页面时出现,但在我将数据扫描到第一个字段后消失……我希望它将焦点设置为ScanQuantity字段,但似乎没有设置焦点


我非常感谢您的任何输入/帮助。

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

为什么要使用enter键?传统上,它提交表单。在桌面浏览器中,选项卡将移动到下一个字段,在mobile Safari中,下一步按钮也会这样做。然后使用tabIndex设置scanqty字段的焦点,并使用barcodefield.onblur调用侦听器。更准确地说,enter键是条形码扫描仪附加到扫描数据上的字符。我想我可以将其编程为附加一个制表符,并在blur上解析数据字符串,而不是监视特定的按键。谢谢,我可以试试。比尔,如果你能控制扫描仪的输出,你可能想让它在一个输入框中转储所有内容,并解析/重新分发数据。我非常怀疑是否有任何关于键盘输入元素焦点的保证,以及任何涉及动态焦点切换的解决方案都是脆弱的。
    function qtyreset() {
    document.test.scanqty.value = '';
    document.test.scanqty.focus();
}