diff --git a/addons/survey/i18n/survey.pot b/addons/survey/i18n/survey.pot index 1b6737220d3..6349db5ddae 100644 --- a/addons/survey/i18n/survey.pot +++ b/addons/survey/i18n/survey.pot @@ -414,7 +414,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:survey.survey_fill_form_in_progress msgid "" " or press Enter" +"tooltip\"> or press CTRL+Enter" msgstr "" #. module: survey @@ -429,8 +429,8 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:survey.survey_fill_form_in_progress msgid "" "\n" -" or press Enter\n" -" " +" or press CTRL+Enter\n" +" " msgstr "" #. module: survey diff --git a/addons/survey/static/src/js/survey_form.js b/addons/survey/static/src/js/survey_form.js index 6d3d0aaeedd..cb2929061af 100644 --- a/addons/survey/static/src/js/survey_form.js +++ b/addons/survey/static/src/js/survey_form.js @@ -109,6 +109,15 @@ publicWidget.registry.SurveyFormWidget = publicWidget.Widget.extend(SurveyPreloa _onKeyDown: function (event) { var self = this; + if (['one_page', 'page_per_section'].includes(self.options.questionsLayout) && !self.options.isStartScreen) { + if (this.$("input").is(":focus") && event.key === "Enter") { + event.preventDefault(); + } + if (!(event.ctrlKey || event.metaKey) || event.key !== "Enter") { + return; + } + } + // If user is answering a text input, do not handle keydown // CTRL+enter will force submission (meta key for Mac) if ((this.$("textarea").is(":focus") || this.$('input').is(':focus')) && @@ -267,7 +276,10 @@ publicWidget.registry.SurveyFormWidget = publicWidget.Widget.extend(SurveyPreloa _updateEnterButtonText: function (event) { const $target = event.target; const isTextbox = event.type === "focusin" && $target.tagName.toLowerCase() === 'textarea'; - const text = !isTextbox ? _t('or press Enter') : isMac ? _t("or press ⌘+Enter") : _t("or press CTRL+Enter"); + let text = _t("or press Enter"); + if (['one_page', 'page_per_section'].includes(this.options.questionsLayout) || isTextbox) { + text = isMac ? _t("or press ⌘+Enter") : _t("or press CTRL+Enter"); + } $('#enter-tooltip').text(text); }, diff --git a/addons/survey/views/survey_templates.xml b/addons/survey/views/survey_templates.xml index 50027e1b882..acbc9aa1d82 100644 --- a/addons/survey/views/survey_templates.xml +++ b/addons/survey/views/survey_templates.xml @@ -194,9 +194,9 @@
- - or press Enter - + + or press CTRL+Enter +
@@ -219,7 +219,7 @@ Continue - or press Enter + or press CTRL+Enter