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/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>
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>
If you are using the controls from 2019 R1 SP1 or later, you can use the following workaround in order to make the input elements visible until we include the fix internally:
<style>
.t-ff input[type=checkbox].rfdRealInput,
.t-ff input[type=radio].rfdRealInput {
position: static;
}
</style>
The checkboxes decorated with RadFormDecorator appeared double in Classic rendering after upgrading to Firefox 63. Steps to reproduce: 1. Upgrade to Firefox 63 2. Run the following setup <telerik:RadFormDecorator runat="server" DecoratedControls="CheckBoxes" RenderMode="Classic" /> <div>asp:Checkbox</div> <asp:CheckBox ID="chkApproved" runat="server" Text="asp:Checkbox" /> <div>Html Input</div> <input id="chkApproved1" type="checkbox" name="chkApproved" /> ====================================== Solutions found so far: 1) Use RadFormDecorator in Lightweight RenderMode: <telerik:RadFormDecorator runat="server" RenderMode="Lightweight"/> 2) Set the RadFormDecorator's DecoratedControls="All": <telerik:RadFormDecorator runat="server" RenderMode="Classic" DecoratedControls="All" /> 3) Set the ControlsToSkip="CheckBoxes" <telerik:RadFormDecorator runat="server" RenderMode="Classic" ControlsToSkip="CheckBoxes" /> 4) Or add the following CSS overwrite to the page: <style> .rfdCheckboxUnchecked, .rfdCheckboxChecked { padding: 0 !important; background-image: none !important; } </style>
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" />
After upgrading to new version of Telerik (2016.3.914.35), duplicate checkboxes are displaying. Please refer attached file.
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>
A workaround is to add a CSS rule that provides a contrasting background color for the decorated checkbox. For example: .RadForm_Bootstrap .RadGrid .rfdToggleImage { background-color: white; } This applies to Q3 2015 with RenderMode=Lightweight for the RadFormDecorator control. Older versions should be upgraded to the latest.
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: ""; }
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; }
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>
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; }
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"
For the time being you can capture the keypress event of the submitting button and cancel it only if the Enter key is pressed. For example: <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> <script> Sys.Application.add_load(function () { var decoratedButton = Telerik.Web.UI.RadFormDecorator.getDecoratedElement($get("<%=SearchButton.ClientID%>")); cancelKeyPress(decoratedButton); }); function cancelKeyPress() { Array.forEach(arguments, function (element) { $addHandler(element, "keypress", function (event) { if (event.charCode == 13) $telerik.cancelRawEvent(event.rawEvent); }); }); } </script> </telerik:RadCodeBlock> <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="All" /> <asp:Panel ID="SearchPanel" runat="server" DefaultButton="SearchButton"> <telerik:RadTextBox FocusedStyle-CssClass="textfocused" TabIndex="1" HoveredStyle-CssClass="texthover" ID="SearchText" runat="server" Width="200px" Height="22px" /> <asp:Button ID="SearchButton" runat="server" Text="Search" TabIndex="3" OnClick="SearchButton_Click" OnClientClick="alert(1);return true;" /> </asp:Panel>
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>
Workarounds: - use RenderMode="Lightweight" - OR, set DecoratedControls="All" Repro: <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="Textbox,Textarea,Buttons,Scrollbars,Select,CheckBoxes,RadioButtons" Skin="Default" RenderMode="Classic" /> <div class="container body-content"> <h2>First Application </h2> <p>SFSFSDF</p> <br /> <asp:RadioButtonList runat="server" ID="dlSchdId" RepeatColumns="6" RepeatDirection="Horizontal" Width="100%"> <asp:ListItem Text="test 1"></asp:ListItem> <asp:ListItem Text="test 2"></asp:ListItem> </asp:RadioButtonList> <asp:CheckBox runat="server" ID="chk1" Text="Check Box 1" /> </div>
When a page has FormDecorator with configured DecoratedControls="All" and a <select> element present on the page, clicking over an SVG causes a JS error.The issue is reproducible in Firefox. video: http://screencast.com/t/FfrGSxCV
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