diff --git a/public/javascripts/application.js b/public/javascripts/application.js index 7076aabcb..a83591e76 100644 --- a/public/javascripts/application.js +++ b/public/javascripts/application.js @@ -785,6 +785,7 @@ function beforeShowDatePicker(input, inst) { } }( jQuery )); +var isSubmitAction; var warnLeavingUnsavedMessage; function warnLeavingUnsaved(message) { warnLeavingUnsavedMessage = message; @@ -801,7 +802,7 @@ function warnLeavingUnsaved(message) { warn = true; } }); - if (warn) {return warnLeavingUnsavedMessage;} + if (warn && !isSubmitAction) {isSubmitAction = false; return warnLeavingUnsavedMessage;} }; } @@ -851,7 +852,14 @@ function setupFilePreviewNavigation() { } } - +$(document).on('keydown', 'form input, form textarea', function(e) { + // Click the form submit button with Ctrl + Enter or Command + Return as the trigger. + var submitButton = $(e.target).closest('form').find('input[type=submit]'); + if(e.keyCode == 13 && ((e.ctrlKey && !e.metaKey) || (!e.ctrlKey && e.metaKey)) && submitButton.length) { + isSubmitAction = true; + submitButton.first().click(); + } +}); function hideOnLoad() { $('.hol').hide();