Skip to content

Commit 1c71eaa

Browse files
mbrubeckMichael-F-Bryan
authored andcommitted
Put the search bar into an HTML form (#669)
This enables "Add a keyword for this search" in the contex menu for the search field, in Firefox and other browsers.
1 parent c195aa9 commit 1c71eaa

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/theme/index.hbs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,9 @@
116116

117117
{{#if search_enabled}}
118118
<div id="search-wrapper" class="hidden">
119-
<div id="searchbar-outer" class="searchbar-outer">
120-
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
121-
</div>
119+
<form id="searchbar-outer" class="searchbar-outer">
120+
<input type="search" name="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
121+
</form>
122122
<div id="searchresults-outer" class="searchresults-outer hidden">
123123
<div id="searchresults-header" class="searchresults-header"></div>
124124
<ul id="searchresults">

src/theme/searcher/searcher.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,7 @@ window.search = window.search || {};
242242
function init() {
243243
resultsoptions = window.search.resultsoptions;
244244
searchoptions = window.search.searchoptions;
245+
searchbar_outer = window.search.searchbar_outer;
245246
searchindex = elasticlunr.Index.load(window.search.index);
246247

247248
// Set up events
@@ -250,6 +251,8 @@ window.search = window.search || {};
250251
document.addEventListener('keydown', function(e) { globalKeyHandler(e); }, false);
251252
// If the user uses the browser buttons, do the same as if a reload happened
252253
window.onpopstate = function(e) { doSearchOrMarkFromUrl(); };
254+
// Suppress "submit" events so the page doesn't reload when the user presses Enter
255+
document.addEventListener('submit', function(e) { e.preventDefault(); }, false);
253256

254257
// If reloaded, do the search or mark again, depending on the current url parameters
255258
doSearchOrMarkFromUrl();

0 commit comments

Comments
 (0)