Primefaces - p:panelGrid 中的浮动标签
Primefaces - Floating Label in p:panelGrid
如何将 'Floating Label' - 如 here 所述 - 嵌入 p:panelGrid?
我遇到的问题是 'p:outputLabel' 没有显示在 'p:inputText' 内部,但除此之外。
当前代码:
<h:form>
<p:panelGrid id="login-grid" columns="3">
<span class="ui-float-label">
<p:inputText id="float-input-username-signin" value=""/>
<p:outputLabel for="@previous" value="Username"/>
</span>
<p:message id="login-username-msg" for="float-input-username-signin"/>
<span class="ui-float-label">
<p:password id="float-input-password-signin"/>
<p:outputLabel for="@previous" value="Password"/>
</span>
<p:message id="login-password-msg" for="float-input-password-signin"/>
<p:commandButton value="Login" id="login-button" update="login-grid" action="#{loginBean.check}" />
</p:panelGrid>
</h:form>
我已经尝试将 'Floating Label' 放入 div 容器中,但没有成功。
非常感谢。
p:panelGrid
(和 h:panelGrid
)应该只包含 JSF 组件作为直接子组件。它将为它们中的每一个渲染一个单元格。因此,不要使用 span
标记,而是使用 h:panelGroup
组件(它将呈现 span
)。并使用 columns="2"
而不是 3:
<p:panelGrid id="login-grid" columns="2">
<h:panelGroup styleClass="ui-float-label">
<p:inputText id="float-input-username-signin" value=""/>
<p:outputLabel for="@previous" value="Username"/>
</h:panelGroup>
<p:message id="login-username-msg" for="float-input-username-signin"/>
<h:panelGroup styleClass="ui-float-label">
<p:password id="float-input-password-signin"/>
<p:outputLabel for="@previous" value="Password"/>
</h:panelGroup>
<p:message id="login-password-msg" for="float-input-password-signin"/>
<p:commandButton value="Login" id="login-button" update="login-grid" action="#{loginBean.check}"/>
</p:panelGrid>
如何将 'Floating Label' - 如 here 所述 - 嵌入 p:panelGrid?
我遇到的问题是 'p:outputLabel' 没有显示在 'p:inputText' 内部,但除此之外。
当前代码:
<h:form>
<p:panelGrid id="login-grid" columns="3">
<span class="ui-float-label">
<p:inputText id="float-input-username-signin" value=""/>
<p:outputLabel for="@previous" value="Username"/>
</span>
<p:message id="login-username-msg" for="float-input-username-signin"/>
<span class="ui-float-label">
<p:password id="float-input-password-signin"/>
<p:outputLabel for="@previous" value="Password"/>
</span>
<p:message id="login-password-msg" for="float-input-password-signin"/>
<p:commandButton value="Login" id="login-button" update="login-grid" action="#{loginBean.check}" />
</p:panelGrid>
</h:form>
我已经尝试将 'Floating Label' 放入 div 容器中,但没有成功。
非常感谢。
p:panelGrid
(和 h:panelGrid
)应该只包含 JSF 组件作为直接子组件。它将为它们中的每一个渲染一个单元格。因此,不要使用 span
标记,而是使用 h:panelGroup
组件(它将呈现 span
)。并使用 columns="2"
而不是 3:
<p:panelGrid id="login-grid" columns="2">
<h:panelGroup styleClass="ui-float-label">
<p:inputText id="float-input-username-signin" value=""/>
<p:outputLabel for="@previous" value="Username"/>
</h:panelGroup>
<p:message id="login-username-msg" for="float-input-username-signin"/>
<h:panelGroup styleClass="ui-float-label">
<p:password id="float-input-password-signin"/>
<p:outputLabel for="@previous" value="Password"/>
</h:panelGroup>
<p:message id="login-password-msg" for="float-input-password-signin"/>
<p:commandButton value="Login" id="login-button" update="login-grid" action="#{loginBean.check}"/>
</p:panelGrid>