我正在开发一个web应用程序,使用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;
}
}这一切都很好用,除了它没有将焦点放在我的有限字段上。
奇怪的是,我在onClick调用以下函数的scanqty字段旁边有一个按钮:
function qtyreset() {
document.test.scanqty.value = '';
document.test.scanqty.focus();
}我不明白为什么相同的命令在一个实例中有效,而在另一个实例中不起作用。该功能在常规Safari中按预期工作。
也许这是相关的(?)但是Mobile Safari的表单助手(Prev和Next按钮)在我加载页面时出现,但在我将数据扫描到第一个field...where中后就消失了。我希望它将焦点设置在数量较少的字段上,但似乎没有设置焦点。
我非常感谢您的意见/帮助。
发布于 2013-07-04 22:17:50
似乎只有当您将站点添加到主屏幕并使用此链接打开站点时,focus()才有效。
https://stackoverflow.com/questions/10543112
复制相似问题