You need to sign in to do that
Don't have an account?
Inserting the lead by passing the field values in the url
Hi Everyone,
Code is as below:
<apex:page controller="lead_urlparameters">
<apex:form >
<apex:inputText value="{!Organization}" rendered="false"/>
<table >
<tr><td><apex:outputLabel value="Your Name"/><br/>
<apex:inputtext value="{!yourname}" label="Your Name"/></td></tr>
<tr><td><apex:outputLabel value="Your Email"/><br/>
<apex:inputtext value="{!youremail}" label="Your Email"/></td></tr>
<tr><td><apex:outputLabel value="Reason for Contact"><br/>
<apex:selectList value="{!Reason4Contact}" label="Reason for Contact">
<apex:selectOptions value="{!Reasons}"/>
</apex:selectList>
</apex:outputLabel><br/></td></tr>
</table>
<apex:commandButton action="{!save}" value="Save"/>
<apex:commandButton action="{!cancel}" value="Cancel"/>
</apex:form>
</apex:page>
Apex:
global with sharing class lead_urlparameters {
Lead newLead = new Lead();
String[] Reason4Contact = new String[]{};
public String youremail { get; set; }
public String yourname { get; set; }
Public String Organization { get; set; }
Public lead_urlparameters(){
Map<string,string> urlparameters = ApexPages.currentPage().getParameters();
if (!urlparameters.isEmpty()) {
newLead.Email = ApexPages.currentPage().getParameters().get('Email');
newLead.Description = ApexPages.currentPage().getParameters().get('Reason4Contact');
}
}
public PageReference cancel() {
return null;
}
public PageReference save() {
if (ApexPages.currentPage().getParameters().get('Organization')==null || ApexPages.currentPage().getParameters().get('Organization')=='') {
newLead.Company = 'PopcornApps';
}
if (ApexPages.currentPage().getParameters().get('yourname')==null || ApexPages.currentPage().getParameters().get('yourname')=='') {
newLead.LastName = '[not provided]';
} else {
newLead.LastName = ApexPages.currentPage().getParameters().get('yourname');
}
PageReference pageRef = new PageReference('http://www.google.com');
return pageRef;
}
public List<SelectOption> getReasons() {
List<SelectOption> options = new List<SelectOption>();
options.add(new SelectOption('Select a Topic','Select a Topic'));
return options;
}
public String[] getReason4Contact() {
return Reason4Contact;
}
public void setReason4Contact(String[] Reason4Contact) {
this.Reason4Contact = Reason4Contact;
}
}
My Requirement is to pass the field values in url like
vfpage url is enclosed within these brackets
na1.salesforce.com\apex\vfpagename?name='xxxx'&email='xx@xxx.com which must insert a lead with these values.
there are no exceptions, but not able to insert the records with those values.
Please help me
Hi Anilt,
I think you have missed the INSERT/UPSERT keyword inside the save method.
If this solve your answer , kindly accept it as solution.
Thanks
All Answers
Hi Anilt,
I think you have missed the INSERT/UPSERT keyword inside the save method.
If this solve your answer , kindly accept it as solution.
Thanks
PageReference redirect = new PageReference('/apex/xyzpage);
redirect.getParameters().put('id',selectedUser); // selecteduser is a variable , set the value by <apex:param>. u can do it othe way
redirect.setRedirect(false); // If u redirect as True then u can see u in Url
return redirect;
Yes, he's correct. In your code you will need to specify record insertion.
public PageReference save() {
if (ApexPages.currentPage().getParameters().get('Organization')==null || ApexPages.currentPage().getParameters().get('Organization')=='') {
newLead.Company = 'PopcornApps';
}
if (ApexPages.currentPage().getParameters().get('yourname')==null || ApexPages.currentPage().getParameters().get('yourname')=='') {
newLead.LastName = '[not provided]';
} else {
newLead.LastName = ApexPages.currentPage().getParameters().get('yourname');
}
insert newLead;
PageReference pageRef = new PageReference('/' + newLead.Id);
return pageRef;
}
Try the changes in RED and let me know.