Link to home
Start Free TrialLog in
Avatar of techvagabond
techvagabondFlag for Australia

asked on

SharePoint 2010: Add an upload button to a Document Set Welcome Page

I am trying to add an 'Upload Documents' button onto onto the welcome page of a Document Set.
I found the following code at: http://sharepointaddict.blogspot.com.au/2012/10/add-upload-document-button-to.html

However when I run it, the modal window that pops up gives a 'file Not Found' error with the modal url of http://intranet/functions/it/testbed/Contract%20Review/Forms/_layouts/Upload.aspx?List=undefined&RootFolder=undefined&IsDlg=1&IsDlg=1

I added the code to a content editor webpart on the welcome page design.

Any ideas?

     
  <script src="/functions/it/testbed/SiteAssets/jquery-1.10.0.min.js" type="text/javascript"></script><script src="/functions/it/testbed/Contract%20Review/Forms/_layouts/SP.UI.Dialog.js" type="text/javascript"></script><script src="/functions/it/testbed/Contract%20Review/Forms/_layouts/SP.UI.Dialog.debug.js" type="text/javascript"></script><script type="text/javascript">
      
     //Using this to control when my script executes - don't want the script to load //on form load but on form click. I call this function in my runCode function  
     //below and then call the runCode function in my Upload Document's onclick event  
     $(document).ready(function(){  
     SP.SOD.executeOrDelayUntilScriptLoaded(initialize,'SP.js');  
     SP.SOD.executeOrDelayUntilScriptLoaded(test,'SP.js');  
      });  
     //takes the querystring from the first query string parameter in the Document Set //url to the last then splits it into an array using the ampersand (&) as the delimeter  
     function getUrlVars() {  
       var vars = {};  
       var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {  
         vars[key] = value;  
       });  
       return vars;  
     }  
     //Using the function to get the values we will use to obtain the url of the //upload document function dynamically  
     var listID = getUrlVars()["List"];
     var rootFolder = getUrlVars()["RootFolder"];  
     //This function opens up the form in modal dialog mode  
     function openDiaForm()  
     {    
       var diaOptions = SP.UI.$create_DialogOptions();    
       diaOptions.url = 'http://intranet/functions/it/testbed/Contract%20Review/Forms/_layouts/Upload.aspx?List='+ listID + '&RootFolder=' + rootFolder + '&IsDlg=1';    
       diaOptions.width = 800;    
       diaOptions.height = 600;    
       diaOptions.title = "Upload Document Form";  
         diaOptions.dialogReturnValueCallback = Function.createDelegate(null, CloseCallback);  
       SP.UI.ModalDialog.showModalDialog(diaOptions);  
     }  
     //The function refreshes the content of the Document Set Welcome Page after the Upload Document modal dialog box has been closed  
     function CloseCallback(result, target) {  
         location.reload(true);  
       }  
     function runCode() {  
       var x = ExecuteOrDelayUntilScriptLoaded(openDiaForm, "sp.js");  
     }  
      </script><div class="ms-uploadbtnlink"><button onclick="runCode();" type="button" value="Run Code">&#160;<span>Upload Document</span></button> </div>

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of techvagabond
techvagabond
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of techvagabond

ASKER

corrected the location of the upload.aspx