1
我正在使用移動Safari瀏覽器專門爲iPad客戶端提供的Web應用程序。我的表單有兩個輸入字段,這兩個字段都將填充來自配對的藍牙條形碼掃描器的數據。Mobile Safari - 樂趣與焦點()
當第一場被掃描,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字段。
奇怪的是,我有一個的onClick調用下面的函數scanqty字段旁邊的按鈕:
function qtyreset() {
document.test.scanqty.value = '';
document.test.scanqty.focus();
}
我不知所措,爲什麼在一種情況下相同的命令作品,而不是在其他。該功能在常規Safari中按預期工作。
也許它是相關的(?),但移動Safari的形式助手(上一頁和下一頁按鈕)出現在我加載頁面但在我將數據掃描到第一個字段後消失...我希望它將焦點設置爲scanqty字段,但似乎無處設置焦點。
我很欣賞任何輸入/幫助。
你爲什麼使用回車鍵?傳統上它會提交表單。在桌面瀏覽器中,選項卡將移動到下一個字段,在移動Safari中,「下一步」按鈕也會執行相同操作。然後使用tabIndex將焦點置於* scanqty *字段和* barcodefield.onblur *來調用偵聽器。 – RobG
更確切地說,回車鍵是條形碼掃描器附加到掃描數據的字符。我想我可以編程它來追加一個製表符,而不是看一個特定的按鍵來解析數據字符串onblur。謝謝,我會試試看。 – KCBill
Bill,如果您有對掃描儀輸出的控制權,您可能希望它將所有內容轉儲到一個輸入框中並解析/重新分配數據。我非常懷疑有關鍵盤輸入元件焦點的任何保證,並且涉及動態焦點切換的任何解決方案都將變得脆弱。 – nmr