I have a dialog which is in a Fragment. So after entering the details into it and clicking the submit button, the text which was filled into the input should be displayed as a MessageToast. But I am getting the error : ' Cannot read property 'getValue' of undefined '.
Below is the code :
onAddMovie: function() {
var view = this.getView();
var createDialog = view.byId("CreateDialog");
var oDummyController = {
// This is when I clicked the Submit button in dialog
submitDialog: function() {
var user = sap.ui.core.Fragment.byId("createDialog", "movie_name").getValue();
MessageToast.show(user);
createDialog.close();
},
closeDialog: function() {
createDialog.close();
}
};
if (!createDialog) {
createDialog = sap.ui.xmlfragment(view.getId(), "Admin.view.Dialog", oDummyController);
}
view.addDependent(createDialog);
createDialog.open();
if (!createDialog.isOpen()) {
//do sth
}
},
Above is the function in which the dialog is getting displayed and after pressing submit button , the text in the input should be displayed in a MessageToast.
XML :
<core:FragmentDefinition xmlns="sap.m" xmlns:core="sap.ui.core" xmlns:l="sap.ui.layout">
<Dialog id="createDialog" title="Input Movie Details" width="100%" class="sapuiMediumMargin" confirm="handleClose" close="handleClose">
<l:VerticalLayout class="sapUiContentPadding" width="100%">
<l:content>
<Input width="100%" placeholder="Movie Name" id="movie_name"/>
<HBox alignItems="Center" renderType="Bare">
<Label text="Year of Release" width="50%"/>
<ActionSelect selectedItem="Element sap.ui.core.ListItem#__item0" selectedKey="item1" class="sapUiLargeMarginBegin" selectedItemId="__item0" id="__select0" width="50%">
<items>
<core:ListItem text="2017" key="item1" id="__item0"/>
<core:ListItem text="2016" key="item2" id="__item1"/>
<core:ListItem text="2015" key="item3" id="__item2"/></items>
</ActionSelect>
</HBox>
<HBox alignItems="Center" renderType="Bare">
<Label text="Date of Screening" width="50%"/>
<DatePicker class="sapUiLargeMarginBegin" width="50%" id="__picker0"/>
</HBox>
<HBox alignItems="Center">
<Label text="Movie Rating"/>
<RadioButtonGroup width="100%" columns="3" selectedIndex="-1" id="__group0">
<buttons>
<RadioButton selected="true" groupName="__group0" text="Universal" id="__button0"/>
<RadioButton groupName="__group0" text="Adult" id="__button1"/>
<RadioButton groupName="__group0" text="U/A" id="__button2"/></buttons>
</RadioButtonGroup>
</HBox>
<HBox alignItems="Center" width="100%" renderType="Bare">
<Label text="Enable Booking" width="70%"/>
<CheckBox id="__box0" width="30%" textDirection="LTR"/>
</HBox>
<FlexBox alignItems="End" alignContent="Center" justifyContent="End" class="sapUiTinyMarginTop">
<SegmentedButton selectedButton="__button3" id="__button21">
<buttons>
<Button text="Submit" id="__submit" press="submitDialog"/>
<Button text="Cancel" id="__button41" press="closeDialog"/></buttons>
</SegmentedButton>
</FlexBox>
</l:content>
</l:VerticalLayout>
</Dialog>
</core:FragmentDefinition>