Index: lams_central/web/includes/javascript/qb-question.js =================================================================== diff -u -r80e8b14fbf1e51ddd5f16b6af99fcf5757909814 -r32836dfda60fb8230659e2ecb5ed310719025d1c --- lams_central/web/includes/javascript/qb-question.js (.../qb-question.js) (revision 80e8b14fbf1e51ddd5f16b6af99fcf5757909814) +++ lams_central/web/includes/javascript/qb-question.js (.../qb-question.js) (revision 32836dfda60fb8230659e2ecb5ed310719025d1c) @@ -19,8 +19,14 @@ if (isNewQuestion) { return; } - $('#assessmentQuestionForm').attr('action', CHECK_QUESTION_NEW_VERSION_URL).data('validator').cancelSubmit = true; - $('#assessmentQuestionForm').submit(); + let form = $('#assessmentQuestionForm'), + validator = form.data('validator'); + if (!validator) { + return; + } + form.attr('action', CHECK_QUESTION_NEW_VERSION_URL); + validator.cancelSubmit = true; + form.submit(); } function isVersionCheck() { @@ -36,7 +42,9 @@ function afterVersionCheck(responseText, statusText, c, d){ $('#assessmentQuestionForm').attr('action', SAVE_QUESTION_URL).data('validator').cancelSubmit = false; // the controller produces true/false and is interpreted as JSON - $('#saveButton').toggle(!responseText); + let newVersion = responseText; + $('#saveButton').toggle(!newVersion); + $('#saveAsButton').toggleClass('btn-default', !newVersion).toggleClass('btn-primary', newVersion); } //form validation handler. It's called when the form contains an error.