For the time being you can use the following JavaScript workaround: <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title></title> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script> </head> <body> <form id="form1" runat="server"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> </telerik:RadScriptManager> <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" /> <script> //Workaround: var removeCssClass = Sys.UI.DomElement.removeCssClass; Telerik.Web.UI.RadFormDecorator.prototype.set_elementDisabled = function (element, val) { var actor = element; var nextSibling = element.nextSibling; var type = element.type; if ((type == "checkbox" || type == "radio") && nextSibling && nextSibling.tagName == "LABEL") { actor = nextSibling; } else if (type == "button" || type == "reset" || type == "submit" || element.tagName == "BUTTON") { var parent = element.parentNode; if (parent && parent.tagName == "A") { actor = parent; parent.disabled = val; } } if (val) addCssClass(actor, "rfdInputDisabled"); else removeCssClass(actor, "rfdInputDisabled"); try { if (!val && $telerik.isIE && actor.parentNode.disabled) { actor.parentNode.disabled = val; } } catch (e) { } } </script> <input type="button" value="Test" onclick="Run(); return false;" /> <div id="TestDiv" style="display: none"></div> <script type="text/javascript"> function Run() { $('#TestDiv').dialog({ modal: true, buttons: { "OK": function () { alert('bye'); } } }); } </script> </form> </body> </html>
The issue is reproducible when you add a CSS class, responsible for styling the scrollbars, too lately and can also be reproduced on a page that contains no Telerik UI for ASP.NET AJAX controls: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <style> .RadForm.rfdScrollBars.RadForm_WebBlue div::-webkit-scrollbar, .RadForm.rfdScrollBars.RadForm_WebBlue div::-webkit-scrollbar-thumb:vertical, .RadForm.rfdScrollBars.RadForm_WebBlue div::-webkit-scrollbar-thumb:horizontal { background-color: red !important; /* choose your color */ } </style> </head> <body> <form id="form1" runat="server"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"></telerik:RadScriptManager> <script> setTimeout(function () { Sys.UI.DomElement.addCssClass(document.documentElement, "RadForm RadForm_WebBlue rfdScrollBars"); }, 10); </script> <div id="testDiv" style="overflow: scroll; height: 200px; width: 300px"> <table> <tr style="height: 500px;"> <td></td> </tr> </table> </div> </form> </body> </html> If you remove the timeout, however, the issue will be gone: <script> // setTimeout(function () { Sys.UI.DomElement.addCssClass(document.documentElement, "RadForm RadForm_WebBlue rfdScrollBars"); // }, 10); </script> Possible workarounds for scenarios when the RadFormDecorator control is involved: 1) Remove the scorllbars styling by setting the ControlsToSkip property to "Scrollbars". <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="All" ControlsToSkip="Scrollbars" /> 2) Use the following JavaScript workaround: <form id="form1" runat="server"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"></telerik:RadScriptManager> <telerik:RadSkinManager ID="RadSkinManager1" runat="server" Skin="Glow"></telerik:RadSkinManager> <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="All" ControlsToSkip="Scrollbars" /> <script> //JavaScript workaround: Telerik.Web.UI.RadFormDecorator.removeGlobalClassesToRootElement = function (rootElement) { rootElement.className = rootElement.className.replace(/rfdRtl|RadForm_\w+|rfdButton|rfdZone|rfdLabel|rfdHeading|rfdTextbox|rfdTextarea|rfdFieldset|rfdRadio|rfdCheckbox|rfdGrids/g, "").trim(); }; Sys.UI.DomElement.addCssClass(document.documentElement, "RadForm RadForm_<%=RadSkinManager.GetCurrent(this.Page).Skin%> rfdScrollBars"); </script> <div id="testDiv" style="overflow: scroll; height: 200px; width: 300px"> <table> <tr style="height: 500px;"> <td></td> </tr> </table> </div> </form>
Workaround - Set the EnableScriptCombine property of RadScriptManager to false or remove RadFormDecorator.
For the time being the select can be skipped from decoration: <telerik:RadFormDecorator runat="server" ID="rfd" DecoratedControls="All" ControlsToSkip="Select"/> There is also a script attached that provides a workaround for this issue.
I noticed that RadFormDecorator does not handle checkboxes in a RadListBox. I had to use an item template. It would be nice if it automatically decorated them. Thanks!
The tooltip is not showing when RadFormDecorator decorate asp:CheckBox and asp:RadioButton. For example: <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="All" /> <asp:CheckBox runat="server" Text="Update" ToolTip="Update Last Name" /> <asp:RadioButton runat="server" Text="Update" ToolTip="Update Last Name" /> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Removing the title attribute from the label element fixes the issue: <telerik:RadScriptManager runat="server" ID="RadScriptManager1"> <Scripts> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" /> </Scripts> </telerik:RadScriptManager> <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="All" /> <script type="text/javascript"> function pageLoad() { $telerik.$("label[class*='rfdRadio'],label[class*='rfdCheckbox']").removeAttr("title"); } </script> <asp:CheckBox runat="server" Text="Update" ToolTip="Update Last Name" /> <asp:RadioButton runat="server" Text="Update" ToolTip="Update Last Name" />
RadFormDecorator does not update properly the state of the grid row checkboxes when Select all checkbox is clicked and the skin is different than Default. video - https://www.screencast.com/t/lwAfXhgEAs The bug is introduced with R1 2017 release. Steps to reproduce: 1. Open http://demos.telerik.com/aspnet-ajax/formdecorator/examples/formdecoratorandtelerikcontrols/defaultcs.aspx?skin=Silk 2. Click the "Select All" checkbox of the first Grid Result: The row checkboxes are not checked ISSUE 2: Batch Edit mode checkboxes are not updated. Change a few checkboxes in this demo, they all remain unchecked after you close the cell: http://demos.telerik.com/aspnet-ajax/grid/examples/data-editing/batch-editing/defaultcs.aspx Workraounds: - remove the RadFormDecorator - OR, have it skip checkboxes, e.g.: DecoratedControls="All" ControlsToSkip="CheckBoxes"
A possible workaround is to avoid the decoration of button controls by setting RadFormDecorator's ControlsToSkip property to "Buttons".
Update: The issue is not observed in Lightweight render mode
Currently text color is different in RadButton (color: #00156E) and decorated ASP Button (color: black) with RadFormDecorator for Office2007 skin. For the time being a custom CSS can be used either for the RadButton or for the decorated ASP Button: -Custom Styles for the RadFormDecorator: <style type="text/css"> .RadForm_Office2007.rfdButton a.rfdSkinnedButton, .RadForm_Office2007.rfdButton input.rfdDecorated[type="button"], .RadForm_Office2007.rfdButton input.rfdDecorated[type="reset"], .RadForm_Office2007.rfdButton input.rfdDecorated[type="submit"], .RadForm_Office2007.rfdButton .rfdSkinnedButton button, .RadForm_Office2007 a.rfdSkinnedButton, .RadForm_Office2007 .rfdSkinnedButton button, .RadForm_Office2007 .rfdSkinnedButton input.rfdDecorated, .RadForm_Office2007.rfdButton a.rfdSkinnedButton, .RadForm_Office2007.rfdButton a.rfdSkinnedButton * { color: #00156E !important; } </style> -Custom Styles for the RadButton: <style type="text/css"> .RadButton_Office2007.rbSkinnedButton, .RadButton_Office2007 .rbDecorated, .RadButton_Office2007.rbVerticalButton, .RadButton_Office2007.rbVerticalButton .rbDecorated, .RadButton_Office2007 .rbSplitRight, .RadButton_Office2007 .rbSplitLeft { color: black !important; } </style>
When decorated button is disabled on the client, its appearance is not changed under IE10. The issue is related only to the visual appearance and not to the functionality of the decorated button.
The disabled inputs should be darker so it is visually clear that you cannot enter text in them. This does not happen with some skins (e.g. Windows7) with the lightweight rendermode.
Rejected with the following comment: When trying to enable/disable an input element that is decorated with RadFormDecorator, the disabled attribute must be set to the DOM input element and not to the JavaScript input object, in order for the RadFormDecorator to take effect. For example: ASPX: <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="All" /> <telerik:RadButton ID="RadButton1" runat="server" AutoPostBack="false" OnClientClicked="disableCheckBox" Text="click" /> <input type="checkbox" id="checkbox" name="name" value="sdf" checked="checked" /> JavaScript: function disableCheckBox() { var checkbox1 = $telerik.$('#checkbox'); //Either //checkbox1.prop('disabled', 'disabled'); //OR checkbox1[0].disabled = true; } In IE there is an issue with the disabled property of the DOM elements, when it comes to tracking it. This issue is reproduced only when the element is enabled and should become disabled. The other way around the tracking is working, i.e. if the select is disabled it can be enabled and IE will raise an event about it. This is a browser issue and there is nothing that can be done on our side to work around it.
Improve the appearance of decorated Select and ASP DropDownList by RadFormDecorator in RenderMode="Classic", so that their look resembles RadDropDownList. For the time being RenderMode="Lightweight" can be used. Rejected with comment: Future appearance improvements for RadFormDecorator in Classic mode will not be availalble anymore. The expection will be issues related to functionality or critical appearance issues.
Tabbing to decorated select element by RadFormDecorator, focuses the original select element. For the time being the following workaround can be used: JavaScript: <script> function pageLoad() { $ = $telerik.$; $.each($(".rfdRealInput"), function (index, value) { value.setAttribute("tabindex", "-1") }); } </script> ASPX: <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="All" RenderMode="Lightweight" /> <asp:TextBox ID="Textbox1" runat="server" /> <asp:DropDownList ID="Dropdownlist1" runat="server"> <asp:ListItem Text="text1" /> <asp:ListItem Text="text2" /> </asp:DropDownList> <asp:TextBox ID="Textbox2" runat="server" /> <telerik:RadButton ID="RadButton1" runat="server" />