XPages extlib移动控件中包含的按钮的onComplete不会在移动设备上触发,但在任何桌面浏览器中都可以正常工作。我在iPhone和Android手机上都进行了测试。这是我的buttonClear按钮的源代码,它清除了搜索字段(与范围属性绑定),然后在其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)。
任何想法表示赞赏。
答案 0 :(得分:1)
onComplete应该在客户端运行。
这些是我要采取的步骤
1)移动浏览器是否启用了javascript?
2)换另一部手机,以不同的操作系统进行测试。
3)安装Opera,Firefox,Chrome并进行测试。
4)将.click()替换为Alert(“触发”)。
5)它不会触发,客户端中是否呈现了Javascript?
6)如果Alert()触发,则确保可以使用ID找到该元素,并在获得该元素的句柄后放置另一个警报...
7)元素是否具有单击事件?取决于浏览器,移动应用程序正在使用
8)您可以点击按钮以手动单击它吗?
http://perfectionkills.com/detecting-event-support-without-browser-sniffing/