Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 602
  • Last Modified:

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

0
techvagabond
Asked:
techvagabond
  • 2
1 Solution
 
techvagabondAuthor Commented:
Moved the vars down into the next slab and I had the wrong location of the Upload.aspx
diaOptions.url = 'http://intranet/functions/it/testbed/Contract%20Review/Forms/_layouts/Upload.aspx?List='+ listID + '&RootFolder=' + rootFolder + '&IsDlg=1';
to
diaOptions.url = 'http://intranet/functions/it/testbed/_layouts/Upload.aspx?List='+ listID + '&RootFolder=' + rootFolder + '&IsDlg=1';
0
 
techvagabondAuthor Commented:
corrected the location of the upload.aspx
0

Featured Post

Veeam Disaster Recovery in Microsoft Azure

Veeam PN for Microsoft Azure is a FREE solution designed to simplify and automate the setup of a DR site in Microsoft Azure using lightweight software-defined networking. It reduces the complexity of VPN deployments and is designed for businesses of ALL sizes.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now