Use SPJS-Lookup in a customized form

Home Forums SPJS-Lookup Use SPJS-Lookup in a customized form

Viewing 0 reply threads
  • Author
    Posts
    • #6942
      Alexander Bautz
      Keymaster

        I generally do not support customized forms, but here is an small example on how to use this specific solution in a customized form.

        The example is not from a SharePoint form, and it is super simple to give you an idea on how you can set it up.

        DISCLAIMER: I cannot give any real support on this solution when used on a customized form.

        Use this code example in a web part page in your SharePoint site, and ensure you understand the code before trying it in a customized SharePoint form.

        <table>
        	<tr>
        		<td valign="top">Field 1</td>
        		<td valign="top" class="ms-formbody" id="myfield1">
        			<input type="text">
        		</td>
        	</tr>
        	<tr>
        		<td valign="top">Field 2</td>
        		<td valign="top" class="ms-formbody" id="myfield2">
        			<input type="text">
        		</td>
        	</tr>
        </table>
        
        
        <script type="text/javascript" src="/DFFS/SPJS/jquery-1.11.1.min.js"></script>
        <script type="text/javascript" src="/DFFS/SPJS/SPJS-Utility/spjs-utility.js"></script>
        <script type="text/javascript" src="/DFFS/SPJS/SPJS_Lookup/SPJS-lookup.js"></script>
        <script type="text/javascript">
        
        spjs.lookup.intFields = function(){
        	var a = {};
        	spjs.$("td.ms-formbody").each(function(){
        		a[this.id] = this.parentNode;
        	});
        	spjs.lookup.data.fields = a;
        }
        
        spjs.lookup.init({
        	"fieldToConvertToDropdown":"myfield1",	
        	"listName":"Tasks",
        	"listBaseUrl":"",
        	"optTextFieldInternalName":"Title",
        	"sortFieldName":"Title",
        	"filterObj":{
        		"on":false,
        		"CAML":null, // If used, the rest of the filterObj settings are disregarded
        		"fin":"",
        		"isLookup":false,
        		"operator":"Eq",
        		"filterVal":""
        	},
        	"dropDownDefaultvalue":"...",
        	"addYouOwnValue":{
        		"on":true,
        		"linkText":"Write your own value"
        	},
        	"addToExternalList":{
        		"on":false,
        		"customFunction":null,
        		"linkText":"Add new item",
        		"saveNewItemText":"Save new item"
        	},
        	"debug":false
        });
        </script>

        The “magic” is done in the function “spjs.lookup.intFields” as this overrides the built in function in the spjs.lookup script.

        Alexander

    Viewing 0 reply threads
    • You must be logged in to reply to this topic.