I need to fill a look up value with query string parameter in custom new form in sharepoint 2013. what should I do?
1 Answer
Use javascript by adding a Content Editor to the page or adding it to the markup itself. I did something similar, picked up ContactId from Query String. Picked up this code from here
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function($) {
//get the Contact ID from they query string
var contactId = getParameterByName("contactId");
//Set the corresponding Lookup field value to the Contact ID
$("select[title='Contact Name']").val(contactId);
//use this line to disable the lookup field selection
$("select[title='Contact Name']").attr('disabled','disabled')
//use this line to hide the lookup field and label entirely
//$("select[title='Contact Name']").closest("tr").hide();
});
function getParameterByName(name)
{
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if(results == null)
return "";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
</script>
Regards
-
I test it several Time in my publishing site but it doesn't work :(– MelikaCommented May 25, 2015 at 19:40
-
1This is working code. Make sure that the id's are right. 1. Use the inspectors in IE, chrome or (firefox + firebug) to check the title attribute. 2. You can debug javascript by adding breakpoints and stepping through the code in the browser 3. Check the values of the statements by copy pasting them into Javascript console in the browser. Commented May 25, 2015 at 19:50
-
1And make sure you change line 1 to a location where jquery.min.js exists Commented May 25, 2015 at 20:04
-
Updated the jquery src reference to google cdn. Good catch Per Jakobson Commented May 25, 2015 at 20:13
-