XPages extlib 移动控件中包含的按钮的 onComplete 不会在移动设备上触发,但在桌面浏览器中工作正常
The onComplete for a button contained in the XPages extlib mobile controls does not fire on mobile devices but works fine in desktop browser
XPage extlib 移动控件中包含的按钮的 onComplete 不会在移动设备上触发,但在任何桌面浏览器中都能正常工作。我在 iPhone 和 Android 手机上进行了测试。这是我的 buttonClear butto 的来源,它清除了搜索字段(绑定到范围属性),然后 "clicks" onComplete 中的 buttonFilterSearch 按钮。
<xp:button id="buttonClear" value="Clear/Reset"
styleClass="buttonMarginBottom" style="width:200.0px;height:30.0px" icon="/undo-4-24.png">
<xp:eventHandler event="onclick" submit="true" refreshMode="partial" id="eventHandler1"
refreshId="panelOppSearch">
<xp:this.action><![CDATA[#{javascript:
sessionScope.query2 = "" ;
sessionScope.query2Location = "" ;
sessionScope.query2Activity = "" ;
sessionScope.query2FromDate = "";
sessionScope.query2ToDate = "";
sessionScope.query2searchbox = "" ;
sessionScope.query2AssignmentStatus = "Needed";
}]]></xp:this.action>
<xp:this.onComplete><![CDATA[dojo.byId("#{id:buttonFilterSearch}").click();]]></xp:this.onComplete>
</xp:eventHandler>
</xp:button>
</xp:td>
</xp:tr>
</xp:table>
</xe:djxmRoundRectList>
... more ...
... more ...
</xe:appPage>
完整的 xe:appPage 移动页面包含在自定义控件中,该控件是我的 mobileXPage 上 xe:singlePageApp 中包含的众多移动页面之一(全部通过 CC)。
任何想法表示赞赏。
onComplete 应该 运行 客户端。
这些是我要采取的步骤
1) 手机浏览器是否启用了javascript?
2) 通过获取另一个 phone 来测试不同的 O/S。
3) 安装 Opera、Firefox、Chrome 并用它们进行测试。
4) 将 .click() 替换为警报 ('it fires')。
5) 不触发,是客户端渲染的 Javascript 吗?
6) 如果 Alert() 触发,则确保可以通过 Id 找到该元素,在获得该元素的句柄后发出另一个警报...
7) 元素是否附加了点击事件?根据移动应用程序使用的浏览器
8) 点击按钮可以手动点击吗?
http://perfectionkills.com/detecting-event-support-without-browser-sniffing/
XPage extlib 移动控件中包含的按钮的 onComplete 不会在移动设备上触发,但在任何桌面浏览器中都能正常工作。我在 iPhone 和 Android 手机上进行了测试。这是我的 buttonClear butto 的来源,它清除了搜索字段(绑定到范围属性),然后 "clicks" onComplete 中的 buttonFilterSearch 按钮。
<xp:button id="buttonClear" value="Clear/Reset"
styleClass="buttonMarginBottom" style="width:200.0px;height:30.0px" icon="/undo-4-24.png">
<xp:eventHandler event="onclick" submit="true" refreshMode="partial" id="eventHandler1"
refreshId="panelOppSearch">
<xp:this.action><![CDATA[#{javascript:
sessionScope.query2 = "" ;
sessionScope.query2Location = "" ;
sessionScope.query2Activity = "" ;
sessionScope.query2FromDate = "";
sessionScope.query2ToDate = "";
sessionScope.query2searchbox = "" ;
sessionScope.query2AssignmentStatus = "Needed";
}]]></xp:this.action>
<xp:this.onComplete><![CDATA[dojo.byId("#{id:buttonFilterSearch}").click();]]></xp:this.onComplete>
</xp:eventHandler>
</xp:button>
</xp:td>
</xp:tr>
</xp:table>
</xe:djxmRoundRectList>
... more ...
... more ...
</xe:appPage>
完整的 xe:appPage 移动页面包含在自定义控件中,该控件是我的 mobileXPage 上 xe:singlePageApp 中包含的众多移动页面之一(全部通过 CC)。
任何想法表示赞赏。
onComplete 应该 运行 客户端。
这些是我要采取的步骤
1) 手机浏览器是否启用了javascript?
2) 通过获取另一个 phone 来测试不同的 O/S。
3) 安装 Opera、Firefox、Chrome 并用它们进行测试。
4) 将 .click() 替换为警报 ('it fires')。
5) 不触发,是客户端渲染的 Javascript 吗?
6) 如果 Alert() 触发,则确保可以通过 Id 找到该元素,在获得该元素的句柄后发出另一个警报...
7) 元素是否附加了点击事件?根据移动应用程序使用的浏览器
8) 点击按钮可以手动点击吗?
http://perfectionkills.com/detecting-event-support-without-browser-sniffing/