Revision: 25218
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at March 23, 2010 15:25 by digiteyes
Initial Code
<script type="text/javascript"> // This javascript sets the default value of a lookup field identified // by <<FIELD DISPLAY NAME>> to the value stored in the querysting variable // identified by <<QUERYSTRING VARIABLE NAME>> // Customize this javascript by replacing <<FIELD DISPLAY NAME>> and // <<QUERYSTRING VARIABLE NAME>> with appropriate values. // Then just paste it into NewForm.aspx inside PlaceHolderMain _spBodyOnLoadFunctionNames.push("fillDefaultValues"); function fillDefaultValues() { var qs = location.search.substring(1, location.search.length); var args = qs.split("&"); var vals = new Object(); for (var i=0; i < args.length; i++) { var nameVal = args[i].split("="); var temp = unescape(nameVal[1]).split('+'); nameVal[1] = temp.join(' '); vals[nameVal[0]] = nameVal[1]; } setLookupFromFieldName("<<FIELD DISPLAY NAME>>", vals["<<QUERYSTRING VARIABLE NAME>>"]); } function setLookupFromFieldName(fieldName, value) { if (value == undefined) return; var theSelect = getTagFromIdentifierAndTitle("select","Lookup",fieldName); // if theSelect is null, it means that the target list has more than // 20 items, and the Lookup is being rendered with an input element if (theSelect == null) { var theInput = getTagFromIdentifierAndTitle("input","",fieldName); ShowDropdown(theInput.id); //this function is provided by SharePoint var opt=document.getElementById(theInput.opt); setSelectedOption(opt, value); OptLoseFocus(opt); //this function is provided by SharePoint } else { setSelectedOption(theSelect, value); } } function setSelectedOption(select, value) { var opts = select.options; var l = opts.length; if (select == null) return; for (var i=0; i < l; i++) { if (opts[i].value == value) { select.selectedIndex = i; return true; } } return false; } function getTagFromIdentifierAndTitle(tagName, identifier, title) { var len = identifier.length; var tags = document.getElementsByTagName(tagName); for (var i=0; i < tags.length; i++) { var tempString = tags[i].id; if (tags[i].title == title && (identifier == "" || tempString.indexOf(identifier) == tempString.length - len)) { return tags[i]; } } return null; } </script>
Initial URL
http://blogs.msdn.com/sharepointdesigner/archive/2007/06/13/using-javascript-to-manipulate-a-list-form-field.aspx
Initial Description
this snippet allows you to dynamically set the value of a SharePoint lookup field based on a URL parameter
Initial Title
Setting values of SharePoint Lookup field
Initial Tags
sharepoint
Initial Language
JavaScript