From 44956916e0f0eb203fa0af367953eca2eda4e795 Mon Sep 17 00:00:00 2001 From: Derk-Jan Hartman Date: Sun, 16 May 2010 16:30:04 +0000 Subject: [PATCH] Don't setup mwsuggest when browsers cannot getElementById forms This happens with Opera 8 for instance. Fixes bug 19586 --- RELEASE-NOTES | 1 + skins/common/mwsuggest.js | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 19a5119807..a5a971bc20 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -165,6 +165,7 @@ in a negative namespace (which is invalid). variable {{REVISIONMONTH1}} when unpadded version is needed. * Special:Userrights didn't recognize user as changing his/her own rights if user did not capitalize first letter of username. * (bug 23507) Add styles for printing wikitables +* (bug 19586) Avoid JS errors in mwsuggest when using old browsers such as Opera 8. === API changes in 1.17 === * (bug 22738) Allow filtering by action type on query=logevent diff --git a/skins/common/mwsuggest.js b/skins/common/mwsuggest.js index 8f638c4776..fb956316c1 100644 --- a/skins/common/mwsuggest.js +++ b/skins/common/mwsuggest.js @@ -112,6 +112,11 @@ function os_MWSuggestInit() { /** Init Result objects and event handlers */ function os_initHandlers( name, formname, element ) { var r = new os_Results( name, formname ); + var formElement = document.getElementById( formname ); + if( !formElement ) { + // Older browsers (Opera 8) cannot get form elements + return; + } // event handler os_hookEvent( element, 'keyup', function( event ) { os_eventKeyup( event ); } ); os_hookEvent( element, 'keydown', function( event ) { os_eventKeydown( event ); } ); @@ -126,7 +131,7 @@ function os_initHandlers( name, formname, element ) { element.setAttribute( 'autocomplete', 'off' ); } // stopping handler - os_hookEvent( document.getElementById( formname ), 'submit', function( event ) { return os_eventOnsubmit( event ); } ); + os_hookEvent( formElement, 'submit', function( event ) { return os_eventOnsubmit( event ); } ); os_map[name] = r; // toggle link if( document.getElementById( r.toggle ) == null ) { -- 2.20.1