Display automated confirmation message to students after completing quiz

Jump to solution
pruiz-haas
Community Member

Hello

I would like to find a way for a student to view an automated message (not feedback) after completing a quiz. Something like: "Thank you for completing the assignment. The professor will review the score and get back to you within a week." I have floating deadlines in the course that are tied to completing some assignments.

As the deadlines vary for different sections  in the course, I do not want to use the feedback feature to send the confirmation message as I have the results of the quiz hidden by default.

Thanks

Labels (2)
0 Likes
1 Solution
jerry_nguyen
Community Contributor

@pruiz-haas 

There is no built-in option to display such message. However, if you are using "Classic Quizzes", you can ask your Canvas's Admin to upload a custom Javascript to display the message after students have submitted the quiz. 

Please note, the following script will only work on the web browser version of Canvas (Not mobile app), this will apply to all quizzes (Classic). I would recommend testing this script in the Test/Beta environment (E.g. http://YOURSCHOOL.beta.instructure.com/)

 

if (window.location.href.match('/quizzes/')) {
    if ((ENV.current_user_roles.indexOf('student') > -1)) {
        console.log("I am a Student");
        console.log("In Quizzes page");
        var quizsubmission;
        quizsubmission = ENV.QUIZ_SUBMISSION_EVENTS_URL;
        console.log(quizsubmission);
        var subID = quizsubmission.match(/\/submissions\/(\d+)/g);


        var courseID = currentURL.match(/\/courses\/(\d+)/g);
        var quiz_id = currentURL.match(/\/quizzes\/(\d+)/g);
        var stdname = ENV.current_user.display_name;


        $.get('/api/v1' + courseID + quiz_id + subID, function(response) {
            if (response.quiz_submissions[0].quiz_points_possible != response.quiz_submissions[0].score) {
                html = '<div id="FinalResult"><p><strong><span style="color:#0acf4b;">Hi ' + stdname.split(' ').slice(0, 1).join(' ') + ', Thank you for completing the assignment. The professor will review the score and get back to you within a week' + '</span></strong></p></div>'
                $('#take_quiz_link').after(html);
            }
        });
    };
}

 

View solution in original post

0 Likes