When a RadButton with configured ValidationGroup is used on a master page its server-side event 'Click' is not raised in: -Internet Explorer and Chrome, but FireFox and Opera. -In all browsers when the master page contains a RadAjaxManager.
When a RadButton is clicked and the following conditions are met: -Page validation is not passed -Button's postback is cancelled in OnClientClicking event by setting args.set_cancel(true) the postback of other RadButtons will not be performed.
Reproduced with latest official (2016.1.113) and internal (2016.2.128) in all browsers. Not reproducible with 2015 Q3 SP1. Code to reproduce the problem: <asp:Button runat="server" ID="GoStep2" OnClick="GoStep2_Click" Text="Next" /> <asp:Panel runat="server" ID="Panel1"> <asp:Button Text="aspButton" runat="server" /> <telerik:RadButton ID="Button1" Text="radButton" runat="server" /> </asp:Panel> protected void Page_Load(object sender, EventArgs e) { Panel1.Enabled = false; } protected void GoStep2_Click(object sender, EventArgs e) { Panel1.Enabled = true; } 1 click the Next button 3. When the page loads after the postback the RadButton remains disabled, unlike the asp:Button.
Common scenario is to use PrimaryIconCssClass and SecondaryIconCssClass to decorate custom icons. Common situation is using bootstrap's classes for the glyphicons. In order to workaround this you can use custom CSS rules and define the expected content properties for the before elements. This is an example with bootstrap icons (http://glyphicons.bootstrapcheatsheets.com/). <style> .rbPrimaryIcon.glyphicon-filter:before, .rbSecondaryIcon.glyphicon-filter:before { content: "\e138"; } </style> <telerik:RadButton ID="RadButton2" runat="server" Text="Filter" ButtonType="SkinnedButton" Icon-PrimaryIconCssClass="glyphicon glyphicon-filter" > </telerik:RadButton>
Code that reproduces the issue: <asp:TextBox ID="Textbox1" runat="server" ValidationGroup="vg1" /> <telerik:RadButton ID="RadButton1" runat="server" ValidationGroup="vg1" Text="click" /> <asp:RequiredFieldValidator ID="Requiredfieldvalidator1" ErrorMessage="text box is empty" ControlToValidate="Textbox1" ValidationGroup="vg1" runat="server" /> <asp:ValidationSummary ID="Validationsummary1" runat="server" ValidationGroup="vg1" ShowMessageBox="true" />
Currently when the RadButton is used as an Image button: - There is a flickering on mouse over and mouse out. - During the postback the image of the current or other image buttons disappears on mouse over/mouse out. The unexpected behavior is observed under Chrome and page is hosted on Cassini. It is caused due to the image requests that Chrome does for each state of the RadButton - normal and hovered.
When the PrimaryIconUrl and PrimaryHoveredIconUrl properties of the RadButton are set and a dialog is opened when OnClientClicked event is triggered, the button's icon from the hovered image persists. This behavior is observed only in FireFox.
Workaraounds: - Use the Lightweight RenderMode - OR, use the RadCheckBox control instead Steps to reproduce: <telerik:RadSkinManager runat="server" ID="rsm1" ShowChooser="true"></telerik:RadSkinManager> <telerik:RadButton ID="rbFileLink" runat="server" ToggleType="CheckBox" ButtonType="ToggleButton" Checked="true" AutoPostBack="false"> </telerik:RadButton>
RadButton peforms duplicate requests when: - A RadButton exists on the page and the form is submitted when a text box is focused and enter key is hit. - the defaultbutton property of the form is set to the id of the RadButton For the time being the following functions' override can be used: <script type="text/javascript"> Telerik.Web.UI.RadButton.prototype._isButtonActiveElement = function (eventTarget) { var doc = eventTarget && eventTarget.ownerDocument ? eventTarget.ownerDocument : document; var activeElement = doc.activeElement; if (!activeElement) return false; if (activeElement === this.get_element() || $telerik.$.contains(this.get_element(), activeElement)) return true; return false; } var originalMouseClickHandler = Telerik.Web.UI.RadButton.prototype._mouseClickHandler; Telerik.Web.UI.RadButton.prototype._mouseClickHandler = function (args) { if (!this.get_enabled() || this.get_readOnly()) { $telerik.cancelRawEvent(args.rawEvent); return false; } var eventTarget = args.target ? args.target : args.srcElement; if (eventTarget === this.get_element() && !this._isButtonActiveElement(eventTarget) && !$telerik.isTouchDevice) { $telerik.cancelRawEvent(args.rawEvent); this.focus(); return false; } originalMouseClickHandler.call(this, args); } </script> The workaround must be placed after the declaration of the RadButton, in order to take effect.
In Q3 2013 the clicking of RadButton is not raised when Enter key is pressed inside a password TextBox and the RadButton is set to be the default button for the form. The workaround is to put the following JavaScript code below the declaration of the RadButton: <script type="text/javascript"> Telerik.Web.UI.RadButton.prototype._isInputTypeText = function (element) { var nodeName = element.nodeName, type = element.type; if (nodeName != "INPUT" || !type) return false; return type == "text" || type == "password" || type == "email" || type == "number" || type == "url" || type == "search" || type == "tel"; } </script>
SharePoint 2013 applies global styles to the inputs that affect the appearance of the RadButtons.For the time being the styles that SharePoints sets to the inputs can be overriden: ASPX: <telerik:RadButton ID="RadButton1" runat="server" Text="RadButton"><Icon PrimaryIconCssClass="rbAdd" /></telerik:RadButton> CSS: <style type="text/css"> .RadButton.RadButton_Default.rbSkinnedButton input { padding: 0px 10px 0px 25px; border: none; margin-left: 0px; } </style>
RadButton with ButtonType="ToggleButton", ToggleType="CheckBox" or ToggleType="Radio" in lightweight mode, renders the icons and the text labels at incorrect position. For the time being, you can use the following CSS as a workaround: .RadButton.rbCheckBox span.rbText, .RadButton.rbRadioButton span.rbText, .RadButton.rbToggleButton span.rbText { vertical-align: initial; /* FF and Chrome */ vertical-align: auto; /* IE */ } button.RadButton { vertical-align: initial; vertical-align: auto; }
For the time being the following workaround can be used: <script> function OnClientClicked() { alert('OnClientClicked'); } function OnClientClicking() { alert('OnClientClicking'); } function fixBtnClicked(sender, args) { sender._useModules = false; } </script> <telerik:RadButton ID="RadButton1" runat="server" ButtonType="LinkButton" Text="Click" OnClientLoad="fixBtnClicked" Target="_parent" NavigateUrl="http://www.google.com" OnClientClicked="OnClientClicked" OnClientClicking="OnClientClicking" />
For the time being you can use the following workaround: JavaScript: <script> function fixBtnRepaint(sender, args) { sender._useModules = false; } </script> ASPX: <telerik:RadButton ID="RadButton1" runat="server" Text="Click" OnClientLoad="fixBtnRepaint"> </telerik:RadButton>
Currently the default height of RadButton with Silk skin and CssClass="rbPrimaryButton" is 28px. The correct height must be auto, so that the text inside the RadButton can be wrapped when it is longer and no height is specified. For the time being the following CSS workaround can be used: CSS: span.RadButton.RadButton_Silk.rbLinkButton.rbPrimaryButton { height: auto; } ASPX: <telerik:RadButton ID="RadButton1" runat="server" Skin="Silk" ButtonType="SkinnedButton" Text="aaaaaaaaaaa bbbbbbbbbbbbbb cccccccccccc" Width="200px" CssClass="rbPrimaryButton" /> <telerik:RadButton ID="RadButton3" runat="server" Skin="Silk" ButtonType="SkinnedButton" Text="aaaaaaaaaaa bbbbbbbbbbbbbb cccccccccccc" Width="200px" CssClass="rbSecondaryButton" />