Below function can be used to get the query string parameters from URL:
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
You can use it like:
var mytext = getUrlVars()["siteUrl"];
Okay but when the parameter is missing from the URL the value will be undefined. Here’s how to set a default value to the variable:
function getUrlParam(parameter, defaultvalue){
var urlparameter = defaultvalue;
if(window.location.href.indexOf(parameter) > -1){
urlparameter = getUrlVars()[parameter];
}
return urlparameter;
}
Use it like this:
var mytext = getUrlParam('siteUrl', _spPageContextInfo.webAbsoluteUrl);
Note: Here I am passing current site URL as default. But, you can pass any other site URL you want by default if the query string parameter is missing from URL
Solution for you:
- Add
getUrlVars()
and getUrlParam()
functions in your code.
- Construct a URL to your form page with
siteUrl
as query string parameter like:
https://tenant.sharepoint.com/sites/siteName/SitePages/PageName.aspx?siteUrl=<enter the site URL here>
- On form page Use your code like below:
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
function getUrlParam(parameter, defaultvalue){
var urlparameter = defaultvalue;
if(window.location.href.indexOf(parameter) > -1){
urlparameter = getUrlVars()[parameter];
}
return urlparameter;
}
function addEntry() {
var siteUrlFromURLParameter = getUrlParam('siteUrl', _spPageContextInfo.webAbsoluteUrl);
var item = {
"__metadata": { "type": "SP.Data.EntryListItem" },
"SiteURL": siteUrlFromURLParameter,
"Title": $('#inputTitle').val(),
"Entry": $('#inputEntry').val()
};
$.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/Web/lists/getbytitle('" + listName + "')/Items",
type: "POST",
contentType: "application/json;odata=verbose",
data: JSON.stringify(item),
headers: {
"Accept": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
},
});
return false;
}
Reference: Get URL Parameters With JavaScript.