Сообщение об ошибке при загрузке всплывающего окна

Я создал 2 всплывающих окна на 2 кнопки. И иметь объект (AC). В обоих всплывающих окнах у меня есть несколько полей для вставки.

В первом всплывающем окне он содержит A.name1, A.name2, A.date, A.Edate, A.Pjt и т. д., а во втором всплывающем окне у меня есть поля A.Name1, A.name2. Поля A.Name1 и A.name2 обязательны для заполнения в объекте.

Моя проблема в том, что когда я пытаюсь вставить значение в 1-е всплывающее окно, я получаю сообщение об ошибке, что «ВЫ ДОЛЖНЫ ВВЕСТИ ЗНАЧЕНИЕ», но даже тогда я ввожу значение. Итак, я прокомментировал 2-е всплывающее окно, после чего оно работает нормально, но когда 2-е всплывающее окно раскомментировано, возникает эта ошибка, и значение вводится. Второе всплывающее окно содержит те же 2 поля, что и первое, с некоторыми другими полями.

может ли кто-нибудь помочь мне найти решение этой ошибки.

<apex:outputPanel id="tstpopup">
    <apex:outputPanel styleClass="popupBackground" layout="block" rendered="{!displayPopUp}"/>
        <apex:outputPanel styleClass="custPopup" layout="block" rendered="{!displayPopUp}">
        <apex:pageblock >
            <apex:pageblocksection >
                <apex:pageblocksectionitem >
                <apex:outputlabel value="name1: " />
                <apex:inputfield id="proj" value="{!AC.name1__c}" />
                </apex:pageblocksectionitem>
                <apex:pageblocksectionitem >
                <apex:outputlabel value="name2: " />
                <apex:inputfield id="role" value="{!AC.name2__c}" />
                </apex:pageblocksectionitem>
                <p/>
                <apex:commandbutton value="Pencil in a New Project" action="{!save}"   />
                <apex:commandbutton value="Cancel" action="{!closePopup}" immediate="true" /><br/><br/><br/>
                </apex:pageblocksection>
                </apex:pageblock>
        </apex:outputPanel>
    </apex:outputPanel>


 <apex:outputPanel id="tstpopup1">
    <apex:outputPanel styleClass="popupBackground" layout="block" rendered="{!displayPopUp}"/>
        <apex:outputPanel styleClass="custPopup" layout="block" rendered="{!displayPopUp}">
        <apex:pageblock >
            <apex:pageblocksection >
                <apex:pageblocksectionitem >
                <apex:outputlabel value="name1: " />
                <apex:inputfield id="proj1" value="{!AC.name1__c}" />
                </apex:pageblocksectionitem><p/>
                <apex:pageblocksectionitem >
                <apex:outputlabel value="Date: " />
                <apex:inputfield id="sd" value="{!AC.Date__c}" />
                </apex:pageblocksectionitem>
                <apex:pageblocksectionitem >
                <apex:outputlabel value="EDate: " />
                <apex:inputfield id="ed" value="{!AC.EDate__c}" />
                </apex:pageblocksectionitem>
                <apex:pageblocksectionitem >
                <apex:outputlabel value="Proj: " />
                <apex:inputfield id="pl" value="{!AC.Pjt__c}" />
                </apex:pageblocksectionitem>
                <apex:pageblocksectionitem >
                <apex:outputlabel value="Charge: " />
                <apex:inputfield id="charge" value="{!AC.Charge__c}" />
                </apex:pageblocksectionitem>
                <apex:pageblocksectionitem >
                <apex:outputlabel value="Name2: " />
                <apex:inputfield id="role1" value="{!AC.name2__c}" />
                </apex:pageblocksectionitem>
                <apex:pageblocksectionitem >
                <apex:outputlabel value="time: " />
                <apex:inputfield id="overtime" value="{!AC.time__c}" />
                </apex:pageblocksectionitem>                   
                </apex:pageblocksection>
                <apex:commandbutton value="Assign to a New Project" action="{!assign}"   />
                <apex:commandbutton value="Cancel" action="{!closePopup}" immediate="true" /><br/><br/><br/>
                </apex:pageblock>
        </apex:outputPanel>
    </apex:outputPanel>

person AnuRaj    schedule 13.08.2012    source источник
comment
Не могли бы вы предоставить второе всплывающее окно?   -  person mast0r    schedule 13.08.2012


Ответы (1)


Я думаю, это потому, что у вас есть один и тот же объект в двух всплывающих окнах. Если вы введете значение, например. name1_c в первом всплывающем окне — другое поле name1_c во втором всплывающем окне по-прежнему пусто.

Попробуйте создать два разных экземпляра вашего объекта:

Верхний класс:

public YourObject AC1 { get; set; }
public YourObject AC2 { get; set; }

// Constructor
public YourClassName(){
    AC1 = new YourObject();
    AC2 = new YourObject();
}

Первое всплывающее окно:

<apex:outputPanel styleClass="custPopup" layout="block" rendered="{!displayPopUp1}">
    <apex:pageblock >
        <apex:pageBlockButtons>
            <apex:commandbutton value="Assign to a New Project" action="{!assign1}"   />
            <apex:commandbutton value="Cancel" action="{!closePopup1}" immediate="true" />            
        </apex:pageBlockButtons>
        <apex:pageblocksection >
            <apex:pageblocksectionitem >
                <apex:outputlabel value="name1: " />
                <apex:inputfield id="proj1" value="{!AC1.name1__c}" />
            </apex:pageblocksectionitem>
            <apex:pageblocksectionitem >
                <apex:outputlabel value="Name2: " />
                <apex:inputfield id="role1" value="{!AC1.name2__c}" />
            </apex:pageblocksectionitem>
            <!-- other fields from the instance 1 of the object -->
            ....
        </apex:pageblocksection>
    <apex:pageblock >
<apex:outputPanel>

Второе всплывающее окно:

<apex:outputPanel styleClass="custPopup" layout="block" rendered="{!displayPopUp2}">
    <apex:pageblock >
        <apex:pageBlockButtons>
            <apex:commandbutton value="Assign to a Another Project" action="{!assign2}"   />
            <apex:commandbutton value="Cancel" action="{!closePopup2}" immediate="true" />            
        </apex:pageBlockButtons>
        <apex:pageblocksection >
            <apex:pageblocksectionitem >
                <apex:outputlabel value="name1: " />
                <apex:inputfield id="proj2" value="{!AC2.name1__c}" />
            </apex:pageblocksectionitem>
            <apex:pageblocksectionitem >
                <apex:outputlabel value="Name2: " />
                <apex:inputfield id="role2" value="{!AC2.name2__c}" />
            </apex:pageblocksectionitem>
            <!-- other fields from the instance 2 of the object -->
            ....
        </apex:pageblocksection>
    <apex:pageblock >
    <apex:outputPanel>
person mast0r    schedule 13.08.2012