You Using several techniques, you can create [[External|external]] links using three techniques: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==In Values can be sent from the context of initial (sending) page by creating a specific [[Application|application]] link to the destination page that includes parameters linking the variables to be passed. These are then parsed by using a the receiving page back into values. '''Syntax:''':<font size="3">'''/urltopage?var1=@variable1@&var2=@variable2@'''</font> '''Where:'''* ''urltopage'' is the relative [[Custom Field|custom fieldURL]]to 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 [[Custom FieldPortal]] of shortcut and associate the type link with that shortcut. /urltopage?var1=@variable1@&var2=@variable2@ '''Button'''* Create a [[Custom Field Type: Display Read Only – Text or System ObjectVariables|Display Read Only – Text or - System ObjectVariables]]Custom Field with:<pre> <input type="button" class=Button value="Button Label" onClick='parent. Add the link to that fieldlocation.href="/urltopage?var1=@variable1@&var2=@variable2@"'/></pre> '''Hyperlink'''* Create a [[Custom Field]] of the type [[Custom Field Type: Read Only – System Variables|Read 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 followingfirst function in the head of the HTML. <pre>function getParams() {var idx = document.URL. It will display as a buttonindexOf('?');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>
<input typescript> var para1="button" classdocument.getElementById('field1');var para2=Button document.getElementById('field2'); para1.value=unescape(params["Button Labelvar1" onClick='parent]);para2.location.hrefvalue =unescape(params["/urltopage?variable=@variable@var2"']); </script>
</pre>
In the context of a [[Portal|portal]] interface by using a link:
* Create a [[Portal]] shortcut and associate the link with that shortcut.
'''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');
<div id="firstname"></div>
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 Management]][[Category:JavaScriptPass Variables To Level 1]]