SharePoint useful JavaScript objects, functions

There are several SharePoint inbuilt JavaScript objects / functions helps you to write script professional way and saves your time. The following are few you can explore more in SP.Init.debug.js and page sources. 1. _spPageContextInfo:   the object exists in sharePoint pages _spPageContextInfo.siteAbsoluteUrl:   returns the site collection url of the current web site. var siteUrl = _spPageContextInfo.siteAbsoluteUrl _spPageContextInfo.webAbsoluteUrl:   returns the current web site url. var webUrl = _spPageContextInfo.webAbsoluteUrl _spPageContextInfo.webServerRelativeUrl:   returns the current web relative url var webRelativeUrl = _spPageContextInfo.webServerRelativeUrl 2. SP.ScriptHelpers:   The function implemented in SP.Init.js and used across all scripts.  SP.ScriptHelpers.isNullOrEmptyString:   this method ensure the parameter is null or empty. var a; if(SP.ScriptHelpers.isNullOrEmptyString(a)) console.log(" empty "); else console.log("

Get Host site list items in SharePoint Hosted App.

Those who starts working on Apps might face issues to read host site list items. In sharepoint hosted APP using Rest API we able to query host site list items. The rest url to get host site is almost similar to get list items but we need to specify the app context and target. Make sure JQuery loaded before to execute the code in app web parts. 'use strict'; var HostUrl=""; var AppUrl==""; // load function // Intialize HostUrl, AppUrl from query strings. // call get items method $(document).ready(function () {         HostUrl= GetQueryString("SPHostUrl");        // Get Host Url from query string         AppUrl= GetQueryString("SPAppWebUrl");        // Get App Url from query string getItems("DemoList");                                        // get list items }); // function to get list items using Rest Api function getItems(listname) {             $.ajax({                 url: AppUrl + "/_

Get People picker properties on client side

Some times you need to get user name from people picker for sending mails, comparing to other fields , displaying some where. Below is the few tricks that are useful to get name, and other user properties from picker. Below is the simplest way to get user name from picker. $('div[title=PeoplePickerDivTitle] span span span').text() And the below is the use full to get people picker properties email, user id ..etc var userdetails = JSON.parse($('input[ID^=PeoplePickerDivStartID][ID$=HiddenInput]').val()) if(userdetails[0]){       var displayname = userdetails[0].DisplayText Var email = userdetails[0].EntityData['Email'] } above script parse the people picker hidden input data which contains user values into JSON, and will get all user properties that exists in people picker control.

Get Query String from SharePoint page

There were several JavaScript  techniques to get query strings from URL, following are the few techniques are inbuilt in SharePoint. The main aim of this article is to use inbuilt SharePoint script techniques and to get rid of writing own JavaScript logic on every time. 1.    GetUrlKeyValue GetUrlKeyValue is an inbuilt JavaScript method exists in every page, you required to pass parameter to get the query string. You get query sting from a current url or from any url that passed as parameter to the method. It accepts a string as query string, bool for encoded value and a custom url. var itemID =  GetUrlKeyValue('ID'); var itemSourc =  GetUrlKeyValue('Source'); var enSournce = GetUrlKeyValue('Source',true);                // encoded result var enSournce = GetUrlKeyValue('Source',false);                // decoded result var cId = GetUrlKeyValue('ID',false,''); 2. JSRequest JSRequest is an inbuilt method used t

Hide SharePoint 2013 List form fields

Hi SharePoint buddies & lovers, after long I started to post SharePoint topics those comes my way and quite interesting ones. SharePoint developers sometimes may need to hide and show form controls in list forms. As per business rules you need to hide certain fields in new, edit, or display forms or conditionals [select country -> show states]. Here is the simple solution to hide fields using basic jQuery to catch location of the field names. We are all know that list form controls are enclosed with table row and each control and it’s field name enclosed in a table cells. New & Edit Forms In new and edit forms field names are enclosed with <nobr> tag, nearest tr of <nobr> tag represents the whole row of field. (document).ready(function() { $('nobr:contains("Location")').closest('tr').hide(); }); Display Forms In display form field names are enclosed with table cells, parent of table cell represents the whole row of

Page not found under global navigation

               after a crazy long I came to post these article and I promise to keep posting on my lovely SharePoint and now I completely shifted to 2013.                         Within the links in global navigation Page not found- appears when editing links but this is hidden by default. This occupies space when your navigation has fixed width you got real trouble.                 To disappear Page not found- you simply on check "Show Pages" in navigation settings, but deselect "Show Pages" has causes to no new pages are not added to navigation by default and also it removes all pages links those are added by default in navigation. So keep in mind and look all navigational links before going to deselect these option. 

Save site as Template Missing!

  We might go through a situation where “Save as site template” option is missing. When I opened Site Actions > Site Settings > The following option was missing. Solution Activate the feature Publishing feature will make the back. Alternative Solution We can also type the Page URL to get the Save as template page. http://server/_layouts/savetmpl.aspx