I got this request:
Dear Alexander,
I’ve been cruising your blog for a week or so and I have to say – THANKS!
The solutions you posted are wonderful and very helpful!I have a special request that might be useful for many users and I’ll defently buy you a nice cold beer for it !
I need a way to send a feedback from any list item and page in SharePoint. The way I see it is some clickable button in a CEWP inserted in a page and some custom button in the ribbon of a list item.
I’d been asked to allow the users to answer some questions (2-4 pre added) and the ability to add some text of their own.
If there’s a way to have your assistance in that matter I’ll adores you forever and send you a cold beer to chill.
Thanks in advance,
Eron F.
This solution is for SP 2010 or 2013 only and it will NOT work for SP 2007.
This solution will add a banner button or a regular button (details below) that lets your users add feedback to a custom list in the site collection. The solution will fill the “Title” column with the list item title if it is a list item (DispForm or EditForm) and the URL from where the feedback was added. You can add this code to any page in the site collection using a CEWP.
Start with adding a custom list to the site collection. This list must Include the standard “Title” field (already present), and a single line of text column called “URL”. These columns are used to log where the feedback was added from. You must add additional columns to this list to collect the actual feedback – like a multi line text field. Which columns you want to add is up to you. The relative URL to this list is used in the argument object described below. This custom list does not require any code added to it.
Download the latest version of SPJS-CollectFeedback from here, and put it in a document library where all users have READ ACCESS.
When this list is set up and the file “SPJS-CollectFeedback.js” is downloaded, you can add the code from the code block below to any page in the site collection using a HTML Form Web Part or CEWP. You might want to change the jQuery reference to a local copy, and you must change the reference to “SPJS-CollectFeedback.js” to point to your local copy.
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script src="/Scripts/Feedback/SPJS-CollectFeedback.js"></script> <script type="text/javascript"> $(document).ready(function(){ spjs.collectFeedback.initRibbonBtn({ "feedbackListNewFormURL":"/CommentBox/Lists/Feedback/NewForm.aspx", "feedbackAddedAlert":"Thank you for the feedback!", "feedbackNotAddedAlert":"", "ribbonBtnText":"Send<br>feedback", "ribbonBtnImg":"/_layouts/images/ltann.gif" }); }); </script>
<input type="button" value="Send feedback" onclick="triggerFeedback();" /> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script src="/Scripts/Feedback/SPJS-CollectFeedback.js"></script> <script type="text/javascript"> function triggerFeedback(){ spjs.collectFeedback.init({ "feedbackListNewFormURL":"/CommentBox/Lists/Feedback/NewForm.aspx", "feedbackAddedAlert":"Thank you for the feedback!", "feedbackNotAddedAlert":"" }); } </script>
feedbackListNewFormURL: The relative URL of the list to store the feedback in.
feedbackAddedAlert: If this is not an empty string you will get an alert after adding the feedback.
feedbackNotAddedAlert: If this is not an empty string you will get an alert if you cancel adding the feedback.
ribbonBtnText: The label of the ribbon button.
ribbonBtnImg: The image of the ribbon button (32×32 px).
Post a comment below if you like the solution or you have any questions.
Alexander