[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
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
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