From 12ca708be81e7f9eb4efae07a3286f350f399ac1 Mon Sep 17 00:00:00 2001 From: Shish Date: Fri, 19 Jan 2024 19:11:18 +0000 Subject: [PATCH] submit form when enter is pressed in an autocomplete text area --- ext/autocomplete/script.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/ext/autocomplete/script.js b/ext/autocomplete/script.js index 40740cf2..620168aa 100644 --- a/ext/autocomplete/script.js +++ b/ext/autocomplete/script.js @@ -228,17 +228,22 @@ document.addEventListener('DOMContentLoaded', () => { event.preventDefault(); highlightCompletion(element, element.selected_completion-1); } - if(event.code === "ArrowDown") { + else if(event.code === "ArrowDown") { event.preventDefault(); highlightCompletion(element, element.selected_completion+1); } // if enter or right are pressed, add the selected completion - if((event.code === "Enter" || event.code == "ArrowRight") && element.selected_completion !== -1) { + else if((event.code === "Enter" || event.code == "ArrowRight") && element.selected_completion !== -1) { event.preventDefault(); setCompletion(element, Object.keys(element.completions)[element.selected_completion]); } + // If enter is pressed while nothing is selected, submit the form + else if(event.code === "Enter" && element.selected_completion === -1) { + event.preventDefault(); + element.form.submit(); + } // if escape is pressed, hide the completion block - if(event.code === "Escape") { + else if(event.code === "Escape") { event.preventDefault(); hideCompletions(); }