# OA 移动引擎常见问题及解决方案

# 1、能否监听表单数据加载完成事件

提出日期 提出人 回复日期 回复人 备注
2020.02.14 邢港 2020.02.17 泛微

# 应用场景:

打开一个页面,加载表单数据后,需要通过判断某些数据项是否为空来执行一些特定脚本,如何实现?

# 现存问题:

在页面 js 代码的 $load 中写的代码执行时,表单的数据还未加载出来。

# 自己找的临时方案:

$load中延迟2秒执行,可以实现,但这种做法不合适。

$load(function() {
    setTimeout(function() {
    var id2 = $f("ID2").val()
    if(!id2){
        document.getElementById("c15f73c7923d4447b30efd208f2d6a01").style.display="none";
    }
}, 2000);
});

# 解决方案:

使用 $pluginLoad 方法。

# 2、如何隐藏表单项

提出日期 提出人 回复日期 回复人 备注
2020.02.14 邢港 2020.02.17 泛微

# 应用场景:

如果表单中姓名2列为空,那么身份证2地址2等控件不显示。

如图:(姓名2为空,需要隐藏这些控件)

QA20200214_01

# 解决方案:

document.getElementById("c15f73c7923d4447b30efd208f2d6a01").style.display="none";

# 3、如何扫描条码(非二维码)

提出日期 提出人 回复日期 回复人 备注
2020.02.14 邢港 2020.02.17 泛微

# 解决方案

emobile7 的扫描功能包含条形码二维码

Mobile_NS.scanQRCode(fn);

# 4、列表控件数据源无法选择建模表单

提出日期 提出人 回复日期 回复人 备注
2020.01.06 邢港 2020.01.06 程颜端

# 问题描述

移动引擎-列表控件-内容来源选择[建模查询]看不到自己新建的建模表单

# 解决方案

需要在建模引擎中建表单+模块+查询

# 5、移动引擎:HTML 插件调用 JS 函数

提出日期 提出人 回复日期 回复人 备注
2020.03.13 邢港 2020.03.13 赵非

# 问题描述

移动引擎里面拖入一个 html 插件,编写以下代码,不能正常工作。 此代码写在单独的 html 文件中是没有问题的,语法看起来也正确。

<script>
    function hello(){
        alert('你好');
    }
</script>
<button onclick="hello()">点我测试</button>

报错如图:

QA20200313_01.png

# 解决方案

如需在插件内调用自已定义的方法,则需将该方法挂载在全局对象 window 上,如:

<script>
    window.hello = function (){
        alert('你好');
    }
</script>
<button onclick="c('肉肉~')">点我测试</button>