You need to sign in to do that
Don't have an account?
balraj singh 33
component.Find is giving undefined
I am trying to find field value by using aura:id but i am getting an error as
component.find("aura:id") is giving undefined.
Here i my component :
<lightning:recordEditForm aura:id="form" recordId="{!v.recordId}" objectApiName="Contact" density="compact"
onsuccess="{!c.handleSuccess}" onerror="{!c.handleError}" onsubmit="{! c.handleSave }" >
<!-- <aura:if isTrue="{!v.isEditPage}">
<lightning:messages />
</aura:if>-->
<!--Detail Panel-->
<lightning:accordion aura:id="accordion" activeSectionName="{!v.activeSections}" allowMultipleSectionsOpen="true">
<!--Detail Section-->
<lightning:accordionSection name="A" label="Detail">
<aura:set attribute="actions">
<aura:if isTrue="{!v.isEditPage}">
<lightning:buttonIcon iconName="utility:save" variant="bare" alternativeText="" type="submit" />
<aura:set attribute="else">
<lightning:buttonIcon iconName="utility:edit" variant="bare" onclick="{! c.changeEditLayout }"
alternativeText="Edit" />
</aura:set>
</aura:if>
</aura:set>
<ui:scrollerWrapper class="scrollerSize">
<div class="slds-grid slds-gutters slds-wrap">
<!-- LEFT COLOUMN DETAIL-->
<div class="slds-col slds-size_1-of-1 slds-large-size_6-of-12">
<!--div class="slds-col slds-size_6-of-12"-->
<div class="slds-border_bottom">
<aura:if isTrue="{!v.isEditPage}">
<lightning:inputField aura:id="FirstName" value="{!v.FirstName}"
fieldName="FirstName"
required="true"/>
<lightning:inputField aura:id="LastName" value="{!v.LastName}"
fieldName="LastName" />
<!-- <lightning:inputName aura:id="myname" label="Full Name" firstName="{!v.FirstName}"
lastName="{!v.LastName}"
fieldsToDisplay="{!v.fields}" required="true" /> -->
<aura:set attribute="else">
<lightning:outputField aura:id="Name1" value="{!v.Name}" fieldName="Name" />
</aura:set>
</aura:if>
</div>
<div class="slds-border_bottom">
<aura:if isTrue="{!v.RFSet}">
<lightning:outputField aura:id="Current_Firm__c" value="{!v.Current_Firm__c}"
fieldName="Current_Firm__c" />
</aura:if>
<aura:if isTrue="{!not(v.RFSet)}">
<aura:if isTrue="{!v.isEditPage}">
<lightning:inputField aura:id="Current_Firm__c1" value="{!v.Current_Firm__c}"
fieldName="Current_Firm__c" onchange="{!c.handleChange}"/>
<aura:set attribute="else">
<lightning:outputField aura:id="Current_Firm__c2" value="{!v.Current_Firm__c}"
fieldName="Current_Firm__c" />
</aura:set>
</aura:if>
</aura:if>
</div>
Controller :
handleChange : function(component, event, helper) {
console.log( "inside handleCurrentFirmChange");
var fNameAttValue = component.Find("FirstName");
console.log('First Name : ' +fNameAttValue);
component.find("aura:id") is giving undefined.
Here i my component :
<lightning:recordEditForm aura:id="form" recordId="{!v.recordId}" objectApiName="Contact" density="compact"
onsuccess="{!c.handleSuccess}" onerror="{!c.handleError}" onsubmit="{! c.handleSave }" >
<!-- <aura:if isTrue="{!v.isEditPage}">
<lightning:messages />
</aura:if>-->
<!--Detail Panel-->
<lightning:accordion aura:id="accordion" activeSectionName="{!v.activeSections}" allowMultipleSectionsOpen="true">
<!--Detail Section-->
<lightning:accordionSection name="A" label="Detail">
<aura:set attribute="actions">
<aura:if isTrue="{!v.isEditPage}">
<lightning:buttonIcon iconName="utility:save" variant="bare" alternativeText="" type="submit" />
<aura:set attribute="else">
<lightning:buttonIcon iconName="utility:edit" variant="bare" onclick="{! c.changeEditLayout }"
alternativeText="Edit" />
</aura:set>
</aura:if>
</aura:set>
<ui:scrollerWrapper class="scrollerSize">
<div class="slds-grid slds-gutters slds-wrap">
<!-- LEFT COLOUMN DETAIL-->
<div class="slds-col slds-size_1-of-1 slds-large-size_6-of-12">
<!--div class="slds-col slds-size_6-of-12"-->
<div class="slds-border_bottom">
<aura:if isTrue="{!v.isEditPage}">
<lightning:inputField aura:id="FirstName" value="{!v.FirstName}"
fieldName="FirstName"
required="true"/>
<lightning:inputField aura:id="LastName" value="{!v.LastName}"
fieldName="LastName" />
<!-- <lightning:inputName aura:id="myname" label="Full Name" firstName="{!v.FirstName}"
lastName="{!v.LastName}"
fieldsToDisplay="{!v.fields}" required="true" /> -->
<aura:set attribute="else">
<lightning:outputField aura:id="Name1" value="{!v.Name}" fieldName="Name" />
</aura:set>
</aura:if>
</div>
<div class="slds-border_bottom">
<aura:if isTrue="{!v.RFSet}">
<lightning:outputField aura:id="Current_Firm__c" value="{!v.Current_Firm__c}"
fieldName="Current_Firm__c" />
</aura:if>
<aura:if isTrue="{!not(v.RFSet)}">
<aura:if isTrue="{!v.isEditPage}">
<lightning:inputField aura:id="Current_Firm__c1" value="{!v.Current_Firm__c}"
fieldName="Current_Firm__c" onchange="{!c.handleChange}"/>
<aura:set attribute="else">
<lightning:outputField aura:id="Current_Firm__c2" value="{!v.Current_Firm__c}"
fieldName="Current_Firm__c" />
</aura:set>
</aura:if>
</aura:if>
</div>
Controller :
handleChange : function(component, event, helper) {
console.log( "inside handleCurrentFirmChange");
var fNameAttValue = component.Find("FirstName");
console.log('First Name : ' +fNameAttValue);
Can you share the entire code of the component. I guess some part of the component code is missing. If we have the entire code we can try in our personal org and give you the exact solution.
Thanks,
Instead of
Please use below line
if you need any assistanse, Please let me know!!
Kindly mark my solution as the best answer if it helps you.
Thanks
Mukesh