Difference between revisions of "Passing Values Using Parameters"

From SmartWiki
Jump to: navigation, search
(Sending Page)
Line 2: Line 2:
  
 
==Sending Page==
 
==Sending Page==
Values can be sent from the initial (sending) page by creating a link to the destination page that includes parameter linking the variables to be passed.
+
Values can be sent from the initial (sending) page by creating a link to the destination page that includes parameter linking the variables to be passed.
  
'''Portal'''
+
'''Syntax:'''
 +
:<font size="3">'''/urltopage?parameter1=@variable1@&parameter2=@variable2@'''</font>
 +
 
 +
 
 +
'''Where:'''
 +
* ''urltopage'' is the relative [[URL]] to the destination page.
 +
* ''variable1'', ''variable2'' etc. are the variable names (eg. @firtsname@).
 +
* ''parameter1'', ''parameter2'' corresponding names for the variables
 +
 
 +
===Portal===
 
* Create a [[Portal]] shortcut and associate the link with that shortcut.
 
* Create a [[Portal]] shortcut and associate the link with that shortcut.
  
Line 10: Line 19:
 
/urltopage?parameter1=@variable1@&parameter2=@variable2@
 
/urltopage?parameter1=@variable1@&parameter2=@variable2@
 
</pre>
 
</pre>
 +
 +
  
 
User and Company variables can be used to pass the current logged in user details and their company details.
 
User and Company variables can be used to pass the current logged in user details and their company details.
  
 
   
 
   
'''Application'''
+
===Application===
 
* Create a [[Custom Field]] of the type [[Custom Field Type: Read Only – System Variables|Read Only - System Variables]] with one of the following.
 
* Create a [[Custom Field]] of the type [[Custom Field Type: Read Only – System Variables|Read Only - System Variables]] with one of the following.
  
Line 27: Line 38:
 
<a href="/urltopage?parameter1=@variable1@&parameter2=@variable2@">Click Here</a>
 
<a href="/urltopage?parameter1=@variable1@&parameter2=@variable2@">Click Here</a>
 
</pre>
 
</pre>
 
Replace "variable1" with the actual variable name and "parameter1" with a corresponding name (eg. firstname=@firtsname@).
 
 
 
  
 
==Receiving Page==
 
==Receiving Page==

Revision as of 11:16, 8 October 2009

Using several techniques you can pass values from one page to another in order to pre-populate form fields or display on an HTML page.

Sending Page

Values can be sent from the initial (sending) page by creating a link to the destination page that includes parameter linking the variables to be passed.

Syntax:

/urltopage?parameter1=@variable1@&parameter2=@variable2@


Where:

  • urltopage is the relative URL to the destination page.
  • variable1, variable2 etc. are the variable names (eg. @firtsname@).
  • parameter1, parameter2 corresponding names for the variables

Portal

  • Create a Portal shortcut and associate the link with that shortcut.
/urltopage?parameter1=@variable1@&parameter2=@variable2@


User and Company variables can be used to pass the current logged in user details and their company details.


Application


Display as button

<input type="button" class=Button value="Button Label" onClick='parent.location.href="/urltopage?parameter1=@variable1@&parameter2=@variable2@"'/>

Display as hyperlink

<a href="/urltopage?parameter1=@variable1@&parameter2=@variable2@">Click Here</a>

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.

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();


Place one of the following second functions in the body.


Form Field Population


<script>

var para1=document.getElementById('field1');
var para2=document.getElementById('field2');

para1.value = unescape(params["parameter1"]);
para2.value = unescape(params["parameter2"]);


</script> 


HTML Element Population (eg. <div>, <span>)


<script>

var para1=document.getElementById('element1');
var para2=document.getElementById('element2');

para1.value = unescape(params["parameter1"]);
para2.value = unescape(params["parameter2"]);

</script> 


Replace "field1" or "element1" etc. with the actual form or element id name and "parameter1" 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>




SmartSimple will replace the variable references (@lastname@ etc) with values derived from the current user session.