0

I had created a custom visualforce button as shown below. That would pre populate the look up field.

   <apex:commandLink  value="Create New Order" onclick="/a15/e?CF00N50000003qoqXEAU_lkid='{!Account.Id}'&CF00N50000003qoqXEAU='{!‌​Account.Name}'"/> -->
  <form action="{!URLFOR('/a15/e?' + 'retURL=%2Fa15%2Fo&CF00N50000003qoqX={!Account.Name}&CF00N50000003qoqX_lkid={!Account.Id}')}" target="_blank" >
       <input type="submit" value="Create New Order"/> 
      </form> 
      </div>
      <br/>

After clicking the button the output displays as follows enter image description here

I want the URL to display as

a15/e?retURL=%2Fa15%2Fo&CF00N50000003qoqX={!Account.Name}&CF00N50000003qoqX_lkid={!Account.Id}

2
  • 1
    You have to do something like this: 'retURL=%2Fa15%2Fo&CF00N50000003qoqX='+{!Account.Name}+'&CF00N50000003qoqX_lkid='+{!Account.Id}+'')}'
    – raym0nd
    Commented Apr 4, 2016 at 15:29
  • 1
    Also, its much better to redirect from the backend not the front end. Cause I have feeling that the Account.ID or name is not gonna be set when the page is loaded. So its better to use an action function and call a submit function in the back end.
    – raym0nd
    Commented Apr 4, 2016 at 15:32

1 Answer 1

2

Straight after {! you are in a server-side evaluated expression so there is no need to use further {! expression delimiters. Instead just concatenate the values.

So instead of:

{!URLFOR('/a15/e?' + 'retURL=%2Fa15%2Fo&CF00N50000003qoqX={!Account.Name}&CF00N50000003qoqX_lkid={!Account.Id}')}

use:

{!URLFOR('/a15/e?' + 'retURL=%2Fa15%2Fo&CF00N50000003qoqX=' + Account.Name + '&CF00N50000003qoqX_lkid=' + Account.Id)}
6
  • Even after doing that it is showing the page and not prepopulating the look up fields ... the output is as " /a15/e?"
    – DominicSeb
    Commented Apr 4, 2016 at 15:50
  • @DominicSeb When using URLFOR I've passed parameters using his syntax {! URLFOR($Page.Form, null, [p1='abc', p2='xyz']) }; the issue might be escaping related.
    – Keith C
    Commented Apr 4, 2016 at 15:59
  • I tried using this as follows {!URLFOR($Action.Product_and_Services__c.New,null,['CF00N50000003qoqXEAU_lkid'='Account.Id' , 'CF00N50000003qoqXEAU'='Account.Name'] )}" target="_blank" It is still blank The look up fields are not getting pre populated
    – DominicSeb
    Commented Apr 4, 2016 at 16:15
  • @DominicSeb I would expect [CF00N50000003qoqXEAU_lkid = A‌​ccount.Id, CF00N50000003qoqXEAU = Account.Name] to work.
    – Keith C
    Commented Apr 4, 2016 at 16:23
  • I did the following <form action="{!URLFOR($Action.Product_and_Services__c.New,null,[CF00N50000003qoqXEAU_lkid=A‌​ccount.Id ,CF00N50000003qoqXEAU=Account.Name] )}" target="_blank" > I got the error " Syntax error"
    – DominicSeb
    Commented Apr 4, 2016 at 17:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .