aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/styles/prosilver/template/forum_fn.js45
1 files changed, 21 insertions, 24 deletions
diff --git a/phpBB/styles/prosilver/template/forum_fn.js b/phpBB/styles/prosilver/template/forum_fn.js
index 153f0c2ae5..e1726430b8 100644
--- a/phpBB/styles/prosilver/template/forum_fn.js
+++ b/phpBB/styles/prosilver/template/forum_fn.js
@@ -321,16 +321,12 @@ var in_autocomplete = false;
var last_key_entered = '';
/**
-* Usually used for onkeypress event, to submit a form on enter
+* Check event key
*/
-function submit_default_button(event, selector, class_name)
+function phpbb_check_key(event)
{
- // Add which for key events
- if (!event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode))
- event.which = event.charCode || event.keyCode;
-
- // Keycode is array down?
- if (event.keyCode && event.keyCode == 40)
+ // Keycode is array down or up?
+ if (event.keyCode && (event.keyCode == 40 || event.keyCode == 38))
in_autocomplete = true;
// Make sure we are not within an "autocompletion" field
@@ -351,6 +347,21 @@ function submit_default_button(event, selector, class_name)
return true;
}
+ return false;
+}
+
+/**
+* Usually used for onkeypress event, to submit a form on enter
+*/
+function submit_default_button(event, selector, class_name)
+{
+ // Add which for key events
+ if (!event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode))
+ event.which = event.charCode || event.keyCode;
+
+ if (phpbb_set_autocomplete(event))
+ return true;
+
var current = selector['parentNode'];
// Search parent form element
@@ -394,20 +405,8 @@ function apply_onkeypress_event()
if (!default_button || default_button.length <= 0)
return true;
- // Keycode is array down?
- if (e.keyCode && e.keyCode == 40)
- in_autocomplete = true;
-
- // Make sure we are not within an "autocompletion" field
- if (in_autocomplete)
- {
- // If return pressed and key changed we reset the autocompletion
- if (!last_key_entered || last_key_entered == e.which)
- {
- in_autocompletion = false;
- return true;
- }
- }
+ if (phpbb_check_key(e))
+ return true;
if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13))
{
@@ -415,8 +414,6 @@ function apply_onkeypress_event()
return false;
}
- last_key_entered = e.which;
-
return true;
});