XPages extlib移动控件中包含的按钮的onComplete不会在移动设备上触发,但在桌面浏览器中可以正常工作

时间:2018-12-21 17:11:47

标签: xpages xpages-extlib

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)。

任何想法表示赞赏。

1 个答案:

答案 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/

相关问题