From: matt Date: Mon, 13 Sep 2010 13:53:38 +0000 (+0000) Subject: fixes OSQA-439. IE should work again. Sorry about that. Thanks for the patches... X-Git-Tag: live~542 X-Git-Url: https://git.openstreetmap.org./osqa.git/commitdiff_plain/c07bef148aa59e35fe84e0c0cc8acff2cb5c6ee5 fixes OSQA-439. IE should work again. Sorry about that. Thanks for the patches Justin and Gerald. git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@592 0cfe37f9-358a-4d5e-be75-b63607b5c754 --- diff --git a/forum/skins/default/media/js/osqa.main.js b/forum/skins/default/media/js/osqa.main.js index 92d0aae..79cda45 100644 --- a/forum/skins/default/media/js/osqa.main.js +++ b/forum/skins/default/media/js/osqa.main.js @@ -1076,4 +1076,23 @@ function yourWorkWillBeLost(e) { function browserTester(browserString) { return navigator.userAgent.toLowerCase().indexOf(browserString) > -1; +} + +// Add missing IE functionality +if (!window.addEventListener) { + if (window.attachEvent) { + window.addEventListener = function (type, listener, useCapture) { + window.attachEvent('on' + type, listener); + }; + window.removeEventListener = function (type, listener, useCapture) { + window.detachEvent('on' + type, listener); + }; + } else { + window.addEventListener = function (type, listener, useCapture) { + window['on' + type] = listener; + }; + window.removeEventListener = function (type, listener, useCapture) { + window['on' + type] = null; + }; + } } \ No newline at end of file diff --git a/forum/skins/default/templates/answer_edit.html b/forum/skins/default/templates/answer_edit.html index 4265a3e..2737294 100644 --- a/forum/skins/default/templates/answer_edit.html +++ b/forum/skins/default/templates/answer_edit.html @@ -35,12 +35,15 @@ }); - function submitClicked(e) { + function submitClicked(e, f) { if(!(browserTester('chrome') || browserTester('safari'))) { $("input.submit")[0].disabled=true; $("input.submit")[1].disabled=true; } window.removeEventListener('beforeunload', beforeUnload, true); + if (f) { + f.submit(); + } } function beforeUnload(e) { @@ -86,8 +89,8 @@
{{ form.summary.help_text }}
- - + + diff --git a/forum/skins/default/templates/ask.html b/forum/skins/default/templates/ask.html index 7b34ba4..4e64fba 100644 --- a/forum/skins/default/templates/ask.html +++ b/forum/skins/default/templates/ask.html @@ -61,11 +61,14 @@ }); - function submitClicked(e) { + function submitClicked(e, f) { if(!(browserTester('chrome') || browserTester('safari'))) { $("input.submit")[0].disabled=true; } window.removeEventListener('beforeunload', beforeUnload, true); + if (f) { + f.submit(); + } } function beforeUnload(e) { @@ -141,9 +144,9 @@ {{ form.tags.help_text }}

{% if not request.user.is_authenticated %} - + {% else %} - + {% endif %} diff --git a/forum/skins/default/templates/question.html b/forum/skins/default/templates/question.html index 6407978..16c6a55 100644 --- a/forum/skins/default/templates/question.html +++ b/forum/skins/default/templates/question.html @@ -43,11 +43,14 @@ }); }); - function submitClicked(e) { + function submitClicked(e, f) { if(!(browserTester('chrome') || browserTester('safari'))) { $("input.submit")[0].disabled=true; } window.removeEventListener('beforeunload', beforeUnload, true); + if (f) { + f.submit(); + } } function beforeUnload(e) { @@ -235,7 +238,7 @@

- + class="submit" style="float:left" onclick="submitClicked(event, this.form)"/> {% endif %} diff --git a/forum/skins/default/templates/question_edit.html b/forum/skins/default/templates/question_edit.html index 402a0eb..69bf688 100644 --- a/forum/skins/default/templates/question_edit.html +++ b/forum/skins/default/templates/question_edit.html @@ -61,12 +61,15 @@ tag = $("input#id_tags")[0].value; }); - function submitClicked(e) { + function submitClicked(e, f) { if(!(browserTester('chrome') || browserTester('safari'))) { $("input.submit")[0].disabled=true; $("input.submit")[1].disabled=true; } window.removeEventListener('beforeunload', beforeUnload, true); + if (f) { + f.submit(); + } } function beforeUnload(e) { @@ -137,8 +140,8 @@ {{ form.summary.help_text }}
- - + +