1

我在 Primefaces 4.0 中使用对话框框架,并且我将高度设置为默认值(自动),这很好,直到我单击Add按钮并显示验证消息。现在对话框高度太小并且不会自动调整大小。

如何使对话框在验证错误时调整其高度?

验证错误之前:

验证错误之前

验证错误后:

有验证错误

添加.xhtml:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  
      xmlns:h="http://java.sun.com/jsf/html" 
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets" 
      xmlns:p="http://primefaces.org/ui">

<h:head>
    <title>Add Group</title>
    <h:outputStylesheet library="css" name="style.css" />
</h:head>

<h:body>

    <h:form id="addGroupForm">
        <p:messages autoUpdate="true" />
        <h:panelGrid columns="2" cellspacing="10" width="300">  
            <h:outputLabel for="name" value="Group Name" />  
            <p:inputText id="name" value="#{userGroupBacking.newGroup}" required="true" requiredMessage="Group Name is Required" />  

            <h:panelGroup></h:panelGroup>
            <h:panelGroup>
                <p:commandButton value="Add" styleClass="ui-priority-primary" actionListener="#{userGroupBacking.addGroup}" update="@form" />
                <p:commandButton value="Cancel" actionListener="#{userGroupBacking.cancelAddGroup}" immediate="true" />
            </h:panelGroup>
        </h:panelGrid> 
    </h:form>

</h:body>
</html>
4

1 回答 1

0

首先,确保您的对话框没有固定高度,其次确保对话框中通知所在的 DOM 元素的溢出已正确设置溢出。有些对话框有点棘手,如果不关闭并再次打开就不会轻易调整大小,如果你能显示实际的对话框会更容易帮助你。我的第一个提示是使用 jQuery 在前端捕获事件并相应地调整对话框的大小。

于 2013-10-04T09:19:47.427 回答