Mobile Safari ブラウザーを使用して iPad クライアントにのみ配信される Web アプリに取り組んでいます。私のフォームには、ペアリングされた Bluetooth バーコード スキャナーからのデータが入力される 2 つの入力フィールドがあります。
最初のフィールドがスキャンされると、次の 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();
}
なぜ同じコマンドが 1 つのインスタンスで機能し、別のインスタンスでは機能しないのか、私は途方に暮れています。この機能は、通常の Safari で意図したとおりに機能します。
関連性があるかもしれませんが (?)、Mobile Safari のフォーム アシスタント ([前へ] ボタンと [次へ] ボタン) は、ページを読み込むと表示されますが、最初のフィールドにデータをスキャンすると消えます...スキャン量フィールドにフォーカスを設定したいのですが、どこにも焦点を合わせていないようです。
入力/ヘルプに感謝します。