我正在加载一个简单的网页,其文本字段名为“AddSerialNum”
<form>
Serial Number: <input type="text" name="AddSerialNum">
</form>
然后我尝试使用Android中条形码扫描结果得到的字符串填充该字段:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
String contents = null;
//Call Clipboard and assign service to var.
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
//Set contents = to scan result
contents = data.getStringExtra("SCAN_RESULT");
//Format scan result
@SuppressWarnings("unused")
String format = data.getStringExtra("SCAN_RESULT_FORMAT");
//Copy Data to clipboard
ClipData clip = ClipData.newPlainText("serial", contents);
clipboard.setPrimaryClip(clip);
//Toast - message states copy was successful with serial number
Toast.makeText(this, "Copied " +contents , Toast.LENGTH_LONG).show();
// Handled a successful scan
//Put the results in the box!
browser.loadUrl("javascript:document.getElementByID('AddSerialNum').value = '"+contents+"';");
} else if (resultCode == RESULT_CANCELED) {
// Cancellation action
}
}
}
吐司通知出现,条形码的序列号作为主剪辑复制到剪贴板,但为什么不填写html文件中的表单?
我觉得我错过了一些东西,但我的眼睛已经疲惫,这令我感到沮丧。有谁知道如何帮忙?
提前致谢!
答案 0 :(得分:3)
自己找到答案。
应使用以下代码。
browser.loadUrl("javascript:document.forms[0].AddSerialNum.value = '"+contents+"';");
您似乎必须按节点导航到该字段,而不仅仅是最终字段。