|
我有一个PDA项目,按键扫描后的结果是通过JAVA调用JS传回页面的,能把扫描结果传回WeX5页面,用Alert(code)可以显示扫描结果,但是却不能将扫描结果设置到WeX5页面的组件中,比如设置到input-$UI/system/components/justep/input/input组件,用以下方法可以在input组件中显示,但当焦点定位到input组件时,结果值就消失不见了,也就是好像没有给input组件值设置成功。JAVA调用的JS代码只能放在WeX5页面的Model外面,否则实现不了JAVA调用JS,JS代码如下:
define(function(require){
var $ = require("jquery");
var justep = require("$UI/system/lib/justep");
require("cordova!cordova-plugin-device");
require("cordova!com.ss.pda"); //PDA插件
var pdaManager = ss.pdaManager;
(中间代码省略)
return Model;
});
//**按键扫描
function scanResult(code){
alert(code); //code显示有值
var input = getElementByAttr("input","xid","input_Msg");
input[0].value = code;
}
function getElementByAttr(tag,attr,value)
{
var aElements=this.document.getElementsByTagName(tag);
var aEle=[];
for(var i=0;i<aElements.length;i++)
{
if(aElements[i].getAttribute(attr)==value)
aEle.push( aElements[i] );
}
return aEle;
}
请问如何将JS的扫描结果值code传入到WeX5页面的组件中? |
|