For the time being you can use the following CSS workaround: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <style> .RadForm.rfdButton input[disabled="disabled"].rfdDecorated { background-position: left -22px !important; } </style> </head> <body> <form id="form1" runat="server"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"></telerik:RadScriptManager> <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="All" /> <asp:Button ID="Button1" Text="text" runat="server" Enabled="false" /> </form> </body> </html>
<telerik:RadSkinManager runat="server" ID="RadSkinManager1" ShowChooser="true" Skin="Bootstrap"></telerik:RadSkinManager> <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="All" RenderMode="Lightweight" /> <asp:DropDownList ID="Dropdownlist1" runat="server" Width="300px"> <asp:ListItem Text="text1" /> <asp:ListItem Text="This is long text" /> <asp:ListItem Text="text2" /> </asp:DropDownList> <asp:Button ID="Button1" Text="text" runat="server" /> Expected: the decorated DDL is 300px wide in all skins and all font sizes Actual: the decorated DDL is 275px wide with the Bootstrap skin.
For the time being the following workaround can be used: CSS: <style type="text/css"> @media screen and (-webkit-min-device-pixel-ratio: 0) { .RadForm.rfdRadio input[type="radio"] + label, .RadForm.rfdCheckbox input[type="checkbox"] + label { display: inline !important; vertical-align: bottom !important; } } .RadForm.rfdCheckbox .rfdCheckboxChecked + label, .RadForm.rfdCheckbox .rfdCheckboxUnchecked + label, .RadForm.rfdRadio .rfdRadioChecked + label, .RadForm.rfdRadio .rfdRadioUnchecked + label { display: inline !important; } </style> ASPX: <form id="form1" runat="server"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"></telerik:RadScriptManager> <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="All" RenderMode="Lightweight" /> <input id="myRadio" type="radio" name="name" value="val1" /> <label for="myRadio">some long text some long text some long text some long text some long text some long text</label> <br /> <input id="myCheckBox" type="checkbox" name="name" value="val2" /> <label for="myCheckBox">some long text some long text some long text some long text some long text some long text</label> </form>
FormDecorator changes focus when selection is dragged from one textbox to another in Internet Explorer: http://screencast.com/t/zwtVur2X
For the time being you can use the following workaround: <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="All" RenderMode="Lightweight"/> <input id="mycb" type="checkbox" name="name" value="check here" title="some title" /> <script> Telerik.Web.UI.RadFormDecorator.prototype.configureLabel = function (label, input) { if (!label.id) label.setAttribute("id", "_rfdSkinned" + input.id); input.setAttribute("_rfddecoratedID", label.id); input._rfddecoratedID = label.id; if (input.id) label.setAttribute("for", input.id); input.className = "rfdRealInput"; if (!input.myLabel) input.myLabel = label; label.className = this._skin; //check if the text attribute is missing a value (i.e. the innerHTML of the <label> is null) and add so as the label becomes clickable if (label.innerHTML == "") { label.innerHTML = " "; } var type = input.type; var inputName = type.charAt(0).toUpperCase() + type.substring(1); if (input.checked) { //removed the rendering of skin name from the rendered className string label.className = " rfd" + inputName + "Checked"; } else { //removed the rendering of skin name from the rendered className string label.className = " rfd" + inputName + "Unchecked"; } //check if the input is disabled (disabled="disabled") if (input.disabled) { //append a "disabled" class if the control is disabled label.className += " " + INPUT_DISABLED_CSSCLASS; label.setAttribute('disabled', 'disabled'); } if (input.title != "") { label.setAttribute('title', input.title); } } </script>
JavaScript error is thrown on the page, when a classic DropDownList is clicked in application running with .NET 3.5, debug mode. Error message: "Uncaught Sys.ParameterCountException: Sys.ParameterCountException: Parameter count mismatch." Steps to reproduce: 1. Run this code with .NET 3.5 and <compilation debug="true"> <asp:ScriptManager ID="sm" runat="server" ScriptMode="Debug"> </asp:ScriptManager> <telerik:RadFormDecorator runat="server" EnableRoundedCorners="true" DecoratedControls="All" /> <asp:DropDownList runat="server"> <asp:ListItem Text="text1" /> <asp:ListItem Text="text2" /> </asp:DropDownList> 2. Click the drop-down button. Result: A JS error is thrown. This happens because under .NET 3.5, in the .debug.js version of the MS AJAX scripts, the Function$emptyMethod() method RadFormDecorator uses has parameter validation and throws errors when you pass any arguments. This is not present in release and seems to not be present in newer versions of .NET
Actual: text squished to the right, overlaps the dropdown arrow Expected: text looks normal, just the select is positioned to the right Workaround: .rfdSelect, .rfdSelectBoxDropDown { text-align: left; } .rfdRtl .rfdSelect { text-align: right; }
At present, the MetroTouch scrollbars in the Lightweight RenderMode are dark (almost black). All metro-based skins must have gray scrollbars. Scrollbars are usually considered part of the browser and users are used to them as they are by default. Thus, using the default browser scrollbars may be the best course of action: <telerik:RadFormDecorator runat="server" ID="rfd1" RenderMode="Lightweight" ControlsToSkip="Scrollbars" Skin="MetroTouch" /> Alternatively, use a CSS rule like this to unify the metro-based scrolblars (replace MetroTouch with Metro for the Metro skin): html.RadForm_MetroTouch.rfdScrollBars { scrollbar-3dlight-color: #cbcbcb; scrollbar-arrow-color: #787878; scrollbar-base-color: #787878; scrollbar-darkshadow-color: #a7a7a7; scrollbar-face-color: #d5d5d5; scrollbar-highlight-color: #e6e6e6; scrollbar-shadow-color: #d5d5d5; scrollbar-track-color: #f5f5f5; }
The issue manifests under IE and Firefox when you change the selected radio button. It stems from any other control with RenderMode=Lightweight that brings the font icons the lightweight mode brings. Workarounds: - use the same render mode for all the controls (for example, move the form decorator to RenderMode=Lightweight) - OR, add the following CSS rule to your page to remove the font icon content from the radio buttons .RadForm .rfdRadioUnchecked.p-i-radio:before, .RadForm .rfdRadioUnchecked:before, .RadForm .rfdRadioChecked.p-i-radiobutton:before, .RadForm .rfdRadioChecked:before, .RadForm .rfdCheckboxChecked:before, .RadForm .rfdCheckboxUnchecked:before { content: ""; }
RadFormDecorator with RenderMode="Classic" and Silk skin renders the backgrounds of the decorated textboxes/textarea elements in gray. The issue can be seen on http://demos.telerik.com/aspnet-ajax/formdecorator/examples/rendermodes/defaultcs.aspx?skin=Silk. Workaround: To solve the issue, switch to Lightweight RenderMode or overwrite the gray background with the following CSS class: <style> .RadForm.RadForm_Silk.rfdTextbox input[type="text"].rfdDecorated, .RadForm.RadForm_Silk.rfdTextbox input[type="password"].rfdDecorated, .RadForm.RadForm_Silk.rfdTextbox input[type="search"].rfdDecorated, .RadForm.RadForm_Silk.rfdTextbox input[type="url"].rfdDecorated, .RadForm.RadForm_Silk.rfdTextbox input[type="tel"].rfdDecorated, .RadForm.RadForm_Silk.rfdTextbox input[type="email"].rfdDecorated, .RadForm.RadForm_Silk.rfdTextarea textarea, .RadForm.RadForm_Silk.rfdTextarea textarea[disabled].rfdDecorated:hover, .RadForm.RadForm_Silk.rfdTextbox input[disabled][type="text"].rfdDecorated:hover, .RadForm.RadForm_Silk.rfdTextbox input[disabled][type="password"].rfdDecorated:hover, .RadForm.RadForm_Silk.rfdTextbox input[disabled][type="search"].rfdDecorated:hover, .RadForm.RadForm_Silk.rfdTextbox input[disabled][type="url"].rfdDecorated:hover, .RadForm.RadForm_Silk.rfdTextbox input[disabled][type="tel"].rfdDecorated:hover, .RadForm.RadForm_Silk.rfdTextbox input[disabled][type="email"].rfdDecorated:hover { background-color: white !important; } </style>
Workarounds: - Use the Lightweight render mode of the FormDecorator; - Use RadCheckBox instead of asp:CheckBox; - Use the following styles: .rfdRadioChecked::before, .rfdRadioUnchecked::before, .rfdCheckboxChecked::before, .rfdCheckboxUnchecked::before { content: none !important; }
We are seeing a JavaScript error when we select an Option in a Select control with a ASP Postback on IE11 via keyboard input. <%@ Page Language="C#" AutoEventWireup="true" Inherits="System.Web.UI.Page" %> <script runat="server"> void Page_Load(object sender, EventArgs e) { decorator.DecoratedControls = FormDecoratorDecoratedControls.Select; } </script> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>DD Test Page</title> </head> <body> <form id="DialogForm" runat="server"> <telerik:RadScriptManager runat="server" /> <telerik:RadAjaxManager runat="server" /> <telerik:RadFormDecorator ID="decorator" runat="server" DecorationZoneID="Panel1" EnableEmbeddedSkins="false" RenderMode="Lightweight" /> <telerik:RadAjaxPanel ID="Panel1" runat="server"> <asp:DropDownList ID="DD1" runat="server" AutoPostBack="true"> <asp:ListItem Text="[Select]" Value="" /> <asp:ListItem Text="T1" Value="1" /> <asp:ListItem Text="T2" Value="2" /> </asp:DropDownList> <asp:Button runat="server" Text="Refresh" /> </telerik:RadAjaxPanel> </form> </body> </html> Reproduce by clicking the DropDown control, and then pressing 'T', and then clicking on a blank section of the page.
ISSUE: Screenshot of this issue can be seen at : (1) https://goo.gl/knpdiq (2) and also at https://goo.gl/8tDqKe. The issue is that the drop down width is not matching the width of top part when a select element is styled by FormDecorator. I am using the latest version i.e. 2017.3 913. HOW TO REPRODUCE: Go to the demo page of FormDecorator at http://demos.telerik.com/aspnet-ajax/formdecorator/examples/overview/defaultcs.aspx. Expand the only select element on this demo page and you will notice that drop down width is not matching the top part width. RESOLUTION: When I tried to resolve this problem, I came up with a solution that works across all skins and render modes as well as all modern browsers of Chrome, Firefox, Opera, Edge + IE 9,10 and 11. The solution involves overriding the method Telerik.Web.UI.RadFormDecorator.prototype._expandHeader. JavaScript for overriding this method is given in attached file. Just copy this script and paste in anywhere in your aspx page to resolve this issue.
ISSUE: Screenshot of this issue can be seen at https://goo.gl/F8C73V. This issue occurs in classic render mode when an option has long text that gets truncated instead of being wrapped. HOW TO REPRODUCE: Use the following page code to reproduce it. Expand the drop down and notice that the option just after None is truncated and not wrapped. <%@ Page Language="C#" AutoEventWireup="true"%> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> <Scripts> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js"></asp:ScriptReference> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js"></asp:ScriptReference> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js"></asp:ScriptReference> </Scripts> </telerik:RadScriptManager> <telerik:RadSkinManager ID="RadSkinManager1" runat="server" ShowChooser="true" RenderMode="Classic" Skin="MetroTouch"> <TargetControls> <telerik:TargetControl ControlID="RadFormDecorator1" /> </TargetControls> </telerik:RadSkinManager> <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="All" RenderMode="Classic" ControlsToSkip="None" /> <select id="dd1" style="width: 200px;"> <option value="none">None</option> <option value="volvo">Volvo sdsd sdsd ddsds sddsd dsdsd sdds sdsd sdsdsd sdsd sds ddsd xyz</option> <option value="saab">Saab</option> <option value="mercedes">Mercedes</option> <option value="audi">Audi</option> </select> <button id="btn1">Postback</button> </form> </body> </html> RESOLUTION: Put the following style in head part of your aspx page. This will fix this issue. <style> div.rfdSelectBox ul li { height: unset; height: none;/*for ie and edge*/ height: auto; } </style>
ISSUE: Screenshot of this issue can be seen at https://goo.gl/c9WriW Also, a video of this can be seen at https://goo.gl/d4nnKq This issue occurs in Lightweight or Mobile render mode. In classic render mode, this issue does not exist. HOW TO REPRODUCE: Use the following page markup to reproduce this problem. <%@ Page Language="C#" AutoEventWireup="true" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> <Scripts> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js"></asp:ScriptReference> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js"></asp:ScriptReference> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js"></asp:ScriptReference> </Scripts> </telerik:RadScriptManager> <telerik:RadSkinManager ID="RadSkinManager1" runat="server" ShowChooser="true" RenderMode="Lightweight" Skin="MetroTouch"> <TargetControls> <telerik:TargetControl ControlID="RadFormDecorator1" /> </TargetControls> </telerik:RadSkinManager> <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="All" RenderMode="Lightweight" ControlsToSkip="None" /> <select id="ddl2" runat="server" style="width: 175px;"> <option value=""></option> <option value="dallas">Dallas</option> <option value="chicago">Chicago</option> <option value="toronto">Toronto</option> <option value="austin">Austin</option> </select> <button id="btn1">Postback</button> </form> </body> </html> RESOLUTION: Add the following style in your aspx head part based on the skin you are using for FormDecorator. If skin is any one these big skins - MetroTouch or BlackMetroTouch or Material or Silk or Glow or Bootstrap, then use the style below. <style> div.rfdSelectBox ul li { min-height: 16px; } .rfdSelect { min-height: 32px !important; } </style> For all other skins, use the style element as below. <style> div.rfdSelectBox ul li { min-height: 16px; } .rfdSelect { min-height: 32px; } </style> </head>
Steps to reproduce: 1. Load https://demos.telerik.com/aspnet-ajax/formdecorator/examples/overview/defaultcs.aspx on IE 11 2. Input two lines in the textarea 3. Select the second line from right to left by holding the left mouse button and releasing it when the cursor is outside of the text area 4. Press button 'delete' from keyboard with multi select content => result: Can not delete content 5. Press button 'backspace' from keyboard => result: back from url.... The problem happens only in IE when there is a select element on the page and when the mouse goes outside the boundaries of the textarea. Temporary fix: <telerik:RadFormDecorator RenderMode="Lightweight" ID="FormDecorator1" runat="server" DecoratedControls="all"></telerik:RadFormDecorator> <script> Telerik.Web.UI.RadFormDecorator.prototype._selectBodyClickHandler = function (e) { var target = e.target; //in chrome the A element is not focused by default if (!Telerik.Web.Browser.ie &&target && target.focus && target !== document.activeElement) { try { target.focus(); } catch (ex) { } } if ($telerik.isTouchDevice) { while (target.nodeType != 1 && target.nodeType != 9) target = target.parentNode; } //See if an optGroup label if (this._isSelectOptgroup(target)) { //Do nothing return; } //Check if clicked on a box var box = this._getDecoratedSelectBoxParent(target); if (box) { if (this._isSelectElementDisabled(box) || box === target) return; else this._optionClickHandler(e); if (box.setActive && box.style.visibility != "hidden") box.setActive(); return; } //Check if clicked on a select header var header = this._getDecoratedSelectHeaderParent(target); if (header) { if (this._isSelectElementDisabled(header)) return; else this._expandHeader(header); if (header.setActive) header.setActive(); if (header.focus) header.focus(); return; } //else - just hide the popup this._hideSelectPopup(); } </script>
This issue is reproducible on your demo page: https://demos.telerik.com/aspnet-ajax/formdecorator/examples/overview/defaultcs.aspx
The expected behavior is the drop down list will close. It does not. However, if you collapse the list with the mouse or <Alt>+<Up Arrow> and then open the list again, the <Enter> and <Tab> keys will behave as expected.
As this problem is also present on your demo site, it is likely a bug with the RFD product and not our specific use case. If there is an update to the product or a JavaScript workaround, that would be greatly appreciated.