xpages链接在新选项卡中忽略验证

时间:2014-11-12 07:30:03

标签: xpages

我的页脚布局上有以下链接:

<xp:link escape="true" id="link1" text="Click me" target="_blank">
                    <xp:eventHandler event="onclick" submit="true"
                        refreshMode="complete">
                        <xp:this.action><![CDATA[#{javascript:facesContext.getExternalContext().redirect("http://www.example.com")}]]></xp:this.action>
                    </xp:eventHandler>
</xp:link>

主要布局包含一些必填字段。如果我点击链接,我会收到消息:“该字段是必需的!”等等。但是,如果我单击主页面中的链接(类似于主页),则URL会将我重定向到相应的站点,但会在同一选项卡上。 target="_blank"被忽略了吗?

如果我想在点击链接时想要忽略的验证和要在新标签上打开的网址,我该如何实现?

1 个答案:

答案 0 :(得分:2)

问题是您正在使用服务器端逻辑来确定要加载的目标/ URL。因此,您的客户端属性将被忽略。

请改为:

<xp:link escape="true" id="link1" text="Click me" target="_blank" value="http://www.example.com">
</xp:link>

您还可以提前计算网址:

<xp:link escape="true" id="link1" text="Click me" target="_blank" value="http://www.example.com">
    <xp:this.value><![CDATA[#{javascript:
        if (something) {
            return "http://example.org";
        } else {
            return "http://example.com";
        }
    }]]></xp:this.value>
</xp:link>