aimluck.io.disableForm = function (form, bool) { function S4() { return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1); } function guid() { return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4()); } if (form == null) { return; } if (bool) { var elements = form.elements; for (var i = 0; i < elements.length; i++) { if ((elements[i].type == 'submit' || elements[i].type == 'button') && elements[i].style.display != "none") { var uuid = guid(); var span = document.createElement("span"); span.id = uuid; span.className = elements[i].className; span.style.display = elements[i].style.display; elements[i].parentNode.insertBefore(span, elements[i]); span.appendChild(document.createTextNode(elements[i].value)) dojo.addClass(span, "auiButtonDisabled"); elements[i].style.display = "none"; dojo.addClass(elements[i], uuid); } } } else { var spans = dojo.query(".auiButtonDisabled", form); for (var i = 0; i < spans.length; i++) { var uuid = spans[i].id; var element = dojo.query("." + uuid)[0]; dojo.removeClass(element, uuid); element.style.display = spans[i].style.display; spans[i].parentNode.removeChild(spans[i]); } } }
submit,buttonタグをすべてspanタグに置き換えています。
iPhoneなどではCSSでdisabledのボタンのデザインの制御ができないため、spanタグに置き換えています。