2013-10-24 14 views
1

我加载一个简单的网页,名为“AddSerialNum”如何注入串转化成Android的WebView中

<form> 
Serial Number: <input type="text" name="AddSerialNum"> 
</form> 

然后我试图填充该领域的文本字段,一个字符串,我从条形码获得扫描结果在安卓

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 fucking results in the box! 
     browser.loadUrl("javascript:document.getElementByID('AddSerialNum').value = '"+contents+"';"); 


      } else if (resultCode == RESULT_CANCELED) { 
       // Cancellation action 
      } 
     } 
    } 

的Toast通知来了,和条形码的序列号复制到剪贴板中的原始片段,但它为什么没有在HTML文件中的表格填写?

我觉得我失去了一些东西,但我有疲倦的眼睛,这令我很沮丧。任何人都知道如何帮助?

在此先感谢!

回答

3

我自己找到了答案。

应该使用下面的代码。

browser.loadUrl("javascript:document.forms[0].AddSerialNum.value = '"+contents+"';"); 

看来,您必须通过节点导航到该字段,而不仅仅是最终字段。