1

2 つのボタンに 2 つのポップアップを作成しました。そして、オブジェクト(AC)を持っています。両方のポップアップで、挿入するフィールドがいくつかあります。

最初のポップアップには、A.name1、A.name2、A.date、A.Edate、A.Pjt などが含まれ、2 番目のポップアップには、フィールド A.Name1、A.name2 があります。A.Name1 と A.name2 は、オブジェクトの必須フィールドです。

私の問題は、最初のポップアップに値を挿入しようとすると、「値を入力する必要があります」というエラーメッセージが表示されることですが、それでも値を入力します。そのため、2 番目のポップアップにコメントしたところ正常に動作していますが、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>
4

1 に答える 1

0

これは、2つのポップアップに同じオブジェクトがあるためだと思います。値を入力した場合。最初のポップアップのname1_c -2番目のポップアップのもう1つのフィールドname1_cはまだ空です。

オブジェクトの2つの異なるインスタンスを作成してみてください。

Apexクラス:

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>

2番目のポップアップ:

<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>
于 2012-08-13T13:56:37.973 に答える