You Using several techniques, you can pass a value (called a Parameter) from one page to another in order to pre-populate form fields or display on an HTML page. ==Sending Page==Values can create be sent from the initial (sending) page by creating a link to the destination page that includes parameters linking the variables to be passed. These are then parsed by the receiving page back into values. '''Syntax:''':<font size="3">'''/urltopage?var1=@variable1@&var2=@variable2@'''</font> '''Where:'''* ''urltopage'' is the relative [[External|externalURL]] links using two techniquesto the destination page.* ''variable1'', ''variable2'' etc. are the variable names (e.g. @firstname@).* ''var1'', ''var1'' corresponding names for the variables <u>'''Examples:'''</u> '''Portal'''* Create a [[Portal]] shortcut and associate the link with that shortcut. /urltopage?var1=@variable1@&var2=@variable2@ In the context of '''Button'''* Create a specific [[ApplicationCustom Field Type: Read Only – System Variables|applicationRead Only - System Variables]] by using Custom Field with:<pre> <input type="button" class=Button value="Button Label" onClick='parent.location.href="/urltopage?var1=@variable1@&var2=@variable2@"'/></pre> '''Hyperlink'''* Create a [[Custom FieldType: Read Only – System Variables|custom fieldRead Only - System Variables]]Custom Field with:<pre><a href="/urltopage?var1=@variable1@&var2=@variable2@">Click Here</a></pre> '''Note''':User and Company variables can be used to pass the current logged in user details and their company details. ==Receiving Page== On the receiving page the parameters can pre-populate a form or an HTML element which resides on that page. In order to achieve this the following [[JavaScript]] functions can be used. Place the following first function in the head of the HTML. <pre>function getParams() {var idx = document.URL.indexOf('?');var params = new Array();if (idx != -1) {var pairs = document.URL.substring(idx+1, document.URL.length).split('&');for (var i=0; i<pairs.length; i++) {nameVal = pairs[i].split('=');params[nameVal[0]] = nameVal[1]; }}return params;}params = getParams();</pre> Place one of the following second functions within the body just prior to the closing body tag (</body>). '''Form Field Population''' <pre> <script> var para1=document.getElementById('field1');var para2=document.getElementById('field2'); para1.value = unescape(params["var1"]);para2.value = unescape(params["var2"]); </script> </pre> '''HTML Element Population (eg. <div>, <span>)''' <pre> <script> var para1=document.getElementById('element1');var para2=document.getElementById('element2'); para1.value = unescape(params["var1"]);para2.value = unescape(params["var2"]); </script> </pre> Replace "field1" or "element1" etc. with the actual form or element id name and "var1" with the parameter name. eg. var para1=document.getElementById('firstname'); <input type="text" value="" id="firstname"> or var para1=document.getElementById('firstname');
1. Create a [[Custom Field|custom field]] of the type '''Display Only Field Type'''. Add the link to that field.<div id="firstname"></div>
In the context of a [[Portal|portal]] interface by using a link:
1. Create a [[Portal]] shortcut and associate the link with that shortcut.
In either case the link can be web [[URL]] or local '''UNC''' type link.
==Passing Parameters to the Link==
You can pass parameters to the link. For [[URL]] type links the following syntax would be used:
'
'''urltopage?Firstname=@firstname@&lastname=@lastname@&email=@email@&address=@address@&address2=@address2@&phone=@phone@&extension=@uphoneext@'''
'''&city=@city@&province=@province@&postal=@postalcode@&homephone=@home phone@&companyname=@company name@&employeeid=@employee id@'''
[[SmartSimple]] will replace the variable references (@lastname@ etc) with values derived from the current [[User|user]] session.
[[SmartSimple]] will replace the variable references (@lastname@, etc.) with values derived from the current [[User|user]] session.
[[Category:JavaScript]]
==See Also==* [[Category:System ManagementPass Variables To Level 1]]