Changes

Passing Values Using Parameters

1,708 bytes added, 17:39, 20 October 2017
no edit summary
You can create links using 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.
In ==Sending Page==Values can be sent from the context of 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 [[Portal|portalURL]] interface by using a linkto 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 a specific [[Application|application]] by using a [[Custom Field|custom field]]: '''Button'''* Create a [[Custom Field]] of the type [[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. It will display as a button 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 (&lt;/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>
'''HTML Element Population (eg. &lt;div>, &lt;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');
 
&lt;input type="text" value="" id="firstname">
 
or
 
var para1=document.getElementById('firstname');
 
&lt;div id="firstname">&lt;/div>
In either case the link can be web [[URL]] or local '''UNC''' type link.
==Passing Parameters Through a Link==
You can pass values using parameters to another page which has form fields to be pre-populated. 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]]
Smartstaff, administrator
686
edits