[dw-free] multiple icon uploader doesn't work in IE
[commit: http://hg.dwscoalition.org/dw-free/rev/16897fd59456]
http://bugs.dwscoalition.org/show_bug.cgi?id=976
Fix multiple icon uploader to work with Internet Explorer.
Patch by
allen.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=976
Fix multiple icon uploader to work with Internet Explorer.
Patch by
Files modified:
- htdocs/editicons.bml
- htdocs/js/editicons.js
--------------------------------------------------------------------------------
diff -r 4f61e7788b51 -r 16897fd59456 htdocs/editicons.bml
--- a/htdocs/editicons.bml Mon Mar 08 22:25:40 2010 +0000
+++ b/htdocs/editicons.bml Mon Mar 08 22:33:57 2010 +0000
@@ -404,12 +404,14 @@ use strict;
$body .= "<p class='detail'>$ML{'.label.description.desc'}</p>\n";
$body .= "<p class='pkg'>\n";
+ $body .= "<span id='main_make_default'>";
$body .= LJ::html_check({ 'type' => 'checkbox',
'name' => 'make_default',
'id' => 'make_default_0',
'value' => '0',
'selected' => @userpics ? 0 : 1,
'accesskey' => $ML{'.makedefault.key'} });
+ $body .= "</span>";
$body .= "<label for='make_default_0'>$ML{'.makedefault'}</label>\n";
$body .= "</p>\n";
diff -r 4f61e7788b51 -r 16897fd59456 htdocs/js/editicons.js
--- a/htdocs/js/editicons.js Mon Mar 08 22:25:40 2010 +0000
+++ b/htdocs/js/editicons.js Mon Mar 08 22:33:57 2010 +0000
@@ -96,11 +96,7 @@ var allowDescriptions = false;
var allowDescriptions = false;
function addNewUpload(uploadType) {
- if (document.forms.uploadPic.make_default instanceof HTMLInputElement) {
- value = document.forms.uploadPic.make_default.checked;
- document.forms.uploadPic.make_default.type = "radio";
- document.forms.uploadPic.make_default.checked = value;
- }
+ updateMakeDefaultType(true);
insertIntoTag = document.getElementById("multi_insert");
insertElement = document.createElement("p");
@@ -142,6 +138,7 @@ function removeAdditionalUpload(removeIn
function removeAdditionalUpload(removeIndex) {
if (document.forms.uploadPic.make_default.length == 3) {
removeNoDefaultButton();
+ updateMakeDefaultType(false);
}
removeFromTag = document.getElementById("multi_insert");
@@ -152,11 +149,6 @@ function removeAdditionalUpload(removeIn
unhideUploadButtons();
}
- if (document.forms.uploadPic.make_default instanceof HTMLInputElement) {
- value = document.forms.uploadPic.make_default.checked;
- document.forms.uploadPic.make_default.type = "checkbox";
- document.forms.uploadPic.make_default.checked = value;
- }
}
function hideUploadButtons() {
@@ -206,4 +198,23 @@ function keyPressFileUpload() {
selectFileUpload();
}
+function updateMakeDefaultType(multi) {
+ var makeDefaultInput = $('make_default_0');
+
+ if (makeDefaultInput != null) {
+ // see if we're already correct
+ if ((multi && makeDefaultInput.type != "radio") || (! multi && makeDefaultInput.type != "checkbox")) {
+ var containerElement = $('main_make_default');
+
+ value = makeDefaultInput.checked;
+ if (multi) {
+ containerElement.innerHTML = containerElement.innerHTML.replace(/checkbox/, "radio");
+ } else {
+ containerElement.innerHTML = containerElement.innerHTML.replace(/radio/, "checkbox");
+ }
+ $('make_default_0').checked = value;
+ }
+ }
+}
+
DOM.addEventListener(window, "load", setup);
--------------------------------------------------------------------------------

no subject
no subject
no subject