Some useful Javascript variables/functions in Sharepoint
12Jan
Here is a list of some useful Javascript variables/functions that I collected from many articles online. I have tested all these variables/functions in SharePoint 2010. All these are available Out-Of-The-Box, you don’t need to add any javascript libraries.
1. _spUserId (Variable)
This variable gives the ID of the logged in user. For an anonymous user, this variable will be empty.
|
1
|
var uid = _spUserId; |
You can test this variable in the address bar of your browser. Try
|
1
|
javascript:alert(_spUserId); |
You will see an alert message with the ID of the logged in user.
2. JSRequest (Object)
Using this JSRequest object, we can get the querystring, pathname and filename. Before using any of these properties, you should call JSRequest.EnsureSetup();
Ex: page url is http://www.xyz.com?qid=15
To get a querystring value
|
1
2
|
JSRequest.EnsureSetup();var q = JSRequest.QueryString["qid"]; // q = 15 |
Similarly, you can use
|
1
2
3
|
JSRequest.EnsureSetup();var f = JSRequest.FileName; // current page namevar p = JSRequest.PathName; // server relative url |
3. GetUrlKeyValue(parameter, noDecode, url) (Method)
GetUrlKeyValue() is a javascript function using which we can get the Query string parameter either from url in the browser or a url that we specify.
parameter(string): query string parameter from the url.
noDecode(bool): specifies whether the value has to be encoded or not. If false value is decoded, else returned as it is.(Optional)
url(string): the url from which Query string values are to be retrieved.(Optional)
Ex:
|
1
|
alert(GetUrlKeyValue('a', false, 'www.xyz.com?a=te%20st')); |
The above statement will return the value ‘te st’. Here we are specifying our own url.
|
1
|
alert(GetUrlKeyValue('a', false)); |
The above statement will look for a query string variable ‘a’ in the browser url, and returns the decoded value.
|
1
|
alert(GetUrlKeyValue('a')); |
The above statement will look for a query string variable ‘a’ in the browser url.
4. _spPageContextInfo (Object)
_spPageContextInfo object has several useful properties, some are
a. webServerRelativeUrl (for current web) b. siteServerRelativeUrl (current site collection url) c. webLanguage (for localization) d. currentLanguage (for localization again) e. webUIVersion f. userId (current user id just like _spUserId) g. alertsEnabled (more for current page if it has any alerts on it) h. allowSilverlightPrompt (to have that prompt or not on the page) i. pageItemId j. pageListId (Guid)
We can get the webServerRelativeUrl simply by saying
|
1
|
var url = _spPageContextInfo.webServerRelativeUrl; |
All the remaining object properties can be used in the same way.
5. escapeProperly(str) (Method)
This function returns the URL encoded value of a given string.
|
1
|
var s = escapeProperly("hello world!!"); //s = "hello%20world%21%21" |
6. unescapeProperly(str) (Method)
This function decodes a URL encoded string.
|
1
|
var s = unescapeProperly("hello%20world%21%21"); //s = "hello world!!" |
7. STSHtmlEncode(htmlString) (Method)
This function encodes an html string
|
1
2
|
var s = STSHtmlEncode("<p>sample text</p>");//s = "<p>sample text</p>" |
8. TrimSpaces(str) (Method)
This method trims out the leading and trailing white spaces of a string. It doesn’t remove spaces created by special characters such as ‘\n’, \t’
|
1
|
var s = TrimSpaces(" Hello World!! "); //s = "Hello World!!" |
I intentionally put more spaces between ‘Hello’ and ‘World!!’ just to show that this method doesn’t remove any spaces between words.
9. TrimWhiteSpaces(str) (Method)
This method trims out the leading and trailing white spaces of a string. It also removes spaces created by special characters such as ‘\n’, \t’
|
1
|
var s = TrimWhiteSpaces("\n\nHello World!!\t\t"); //s = "Hello World!!" |
10. LoginAsAnother(url, bUseSource)
This method is used to login as different user.(as the name says)
url(string): the url of the page to which the new user has to be sent after login.
bUseSource(boolean): A boolean that indicates that the source will be added to the url, otherwise the source will be the window.location.href. This parameter is optional, default is false.
|
1
|
<a href="#" onclick="javascript:LoginAsAnother('\u002f_layouts\u002fAccessDenied.aspx?loginasanotheruser=true', 0)">Log on as a different user</a> |
11. STSPageUrlValidation(url)
This function validates a url if it starts with “http” or “/” or “:” ONLY. It returns the url value back if it is a valid url and an empty value if it is an invalid url. If the url is not valid, an alert message is displayed that says “Invalid page URL:”.
|
1
2
3
4
5
|
var s = STSPageUrlValidation("praneethmoka.wordpress.com"); //s = praneethmoka.wordpress.comvar s = STSPageUrlValidation(":praneethmoka.wordpress.com"); //s = "";var s = STSPageUrlValidation("w.wordpress.com"); //s = "w.wordpress.com"; |
Now please don’t ask me what kind of a validation this is.
STSPageUrlValidation(url) in turn calls a method PageUrlValidation(url) and here’s the code for PageUrlValidation method
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
function PageUrlValidation(url){ULSA13:; if((url.substr(0, 4) == "http") || (url.substr(0, 1) == "/") || (url.indexOf(":") == -1)) { return url; } else { var L_InvalidPageUrl_Text="Invalid page URL: "; alert(L_InvalidPageUrl_Text); return ""; }} |
12. _spBodyOnLoadFunctionNames
This array allows you to register additional JavaScript methods that should run in the body onload event.
Example _spBodyOnLoadFunctionNames.push('functionName');
You can also pass arguments, for example an id. The next example shows an argument of type string. _spBodyOnLoadFunctionNames.push('functionName("functionArgument")');
13.executeOrDelayUntilScriptLoaded
Executes the specified function if the file containing it is loaded,the script file locates at layout folder.
Example: $(document).ready(function(){
ExecuteOrDelayUntilScriptLoaded(retrieveListItems, "sp.js");});
14.Custom redirect after creating a new Sharepoint Item
$(document).ready(function() { var button = $("input[id$=SaveItem]"); // change redirection behavior button.removeAttr("onclick"); button.click(function() { var elementName = $(this).attr("name"); var aspForm = $("form[name=aspnetForm]"); var oldPostbackUrl = aspForm.get(0).action; var currentSourceValue = GetUrlKeyValue("Source", true, oldPostbackUrl); var newPostbackUrl = oldPostbackUrl.replace(currentSourceValue, "MyRedirectionDestination.aspx"); if (!PreSaveItem()) return false; WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(elementName, "", true, "", newPostbackUrl, false, true)); }); });15._spFormOnSubmit()
16._spFormOnSubmitcalled()
References: http://community.zevenseas.com/Blogs/Tanmay/Lists/Posts/Post.aspx?ID=8 http://ruudheemskerk.net/archive/2010/08/03/helpful-sharepoint-javascript-functions.aspx

浙公网安备 33010602011771号