You need to sign in to do that
Don't have an account?
Nervosa
Refering to inputText in controller
Hello!
The deal is - i've got 2 methods in my controller: the one to ADD:
public PageReference add(){ Item__c NewItem = new Item__c( Name = NewItemName, Item_Price__c = NewItemPrice, Items_Available__c = NewItemQuantity, Item_Type__c = NewItemType, Release_Date__c = NewItemReleaseDate); insert NewItem; ViewData(); PageReference curPage = ApexPages.currentPage(); curPage.getParameters().put('success','true'); curPage.getParameters().put('id',Apexpages.currentPage().getParameters().get('id')); curPage.setRedirect(true); return null; }
and the second to DELETE:
public PageReference del() { Item__c ItemToDel = [SELECT id FROM Item__c WHERE id = :IdToDel]; delete ItemToDel; PageReference curPage = ApexPages.currentPage(); curPage.getParameters().put('success','true'); curPage.getParameters().put('id',Apexpages.currentPage().getParameters().get('id')); ViewData(); curPage.setRedirect(false); return curPage; }
Also there is a set of inputText elements on my VF page:
<apex:inputText value="{!NewItemName}" label="Name" style="text-align:left"/> <apex:selectList id="types" label="Type" size="1" value="{!NewItemType}"> <apex:selectOptions value="{!types}"> </apex:selectOptions> </apex:selectList> <apex:inputText value="{!NewItemPrice}" label="Price" style="text-align:left" /> <apex:inputText value="{!NewItemQuantity}" label="Quantity" style="text-align:left"/> <apex:inputText value="{!NewItemReleaseDate}" label="Release Date"/>
It all works pretty well but there is one problem - old values remain in inputText elements after an item is ADDED. So i want to refer to them after adding and assign zeros or NULL's them. Do you think i can do it?
Thanks in advance.
Try this in you add method..
public PageReference add(){
Item__c NewItem = new Item__c(
Name = NewItemName,
Item_Price__c = NewItemPrice,
Items_Available__c = NewItemQuantity,
Item_Type__c = NewItemType,
Release_Date__c = NewItemReleaseDate);
insert NewItem;
ViewData();
PageReference curPage = ApexPages.currentPage();
curPage.getParameters().put('success','true');
curPage.getParameters().put('id',Apexpages.currentPage().getParameters().get('id'));
curPage.setRedirect(true);
NewItemName=null;
NewItemQuantity=null;
NewItemPrice = null;
NewItemReleaseDate = null;
return null;
}
All Answers
Yeah you can just initialize the values in your add method, something after you did insert;
NewItemPrice = 0;
NewItemQuantity = 0;
NewItemReleaseDate = '';
NewItemName = '';
NewItemType = '';
and rerender the section in your VF Page on CommandButton click to reflect the changes.
Try this in you add method..
public PageReference add(){
Item__c NewItem = new Item__c(
Name = NewItemName,
Item_Price__c = NewItemPrice,
Items_Available__c = NewItemQuantity,
Item_Type__c = NewItemType,
Release_Date__c = NewItemReleaseDate);
insert NewItem;
ViewData();
PageReference curPage = ApexPages.currentPage();
curPage.getParameters().put('success','true');
curPage.getParameters().put('id',Apexpages.currentPage().getParameters().get('id'));
curPage.setRedirect(true);
NewItemName=null;
NewItemQuantity=null;
NewItemPrice = null;
NewItemReleaseDate = null;
return null;
}