Planned
Last Updated: 11 Aug 2020 22:10 by John
Scheduled for R3 2020
John
Created on: 03 Aug 2020 16:41
Category: Button
Type: Feature Request
1
Chrome 84 Issues with RadButton, Type=LinkButton, Issue not resolved in 2020.2.617.40

Issue previously reported by others and marked resolved as of R2 2020 in June 2020

However, I am running Chrome 84 with the latest build - 2020.2.617.40.

The issue remains.

Radbutton with type=linkbutton, fails to postback

This button used to open the navigateURL as well as execute codebehind

 

<telerik:RadButton runat="server" ID="btnPrint" ButtonType="LinkButton" Text="Print Deposit Slip" NavigateUrl="/printform.aspx" Target="_blank" UseSubmitBehavior="false" SingleClick="true" SingleClickText="working..." />

Protected Sub btnPrint_Click(sender As Object, e As EventArgs) Handles btnPrint.Click

....

End Sub

 

 

 

2 comments
John
Posted on: 11 Aug 2020 22:10

Yes, your code does fix the issue and the button now posts back.

Thank you for confirming and adding it to the upcoming release.

ADMIN
Peter Milchev
Posted on: 10 Aug 2020 16:03

Hello John,

For the convenience of the community, I am sharing the original feedback item you are referring to:

We have tested various scenarios and it seems that the old versions(e.g. the old behavior) are working properly, meaning Google Chrome fixed things in their browser core.

Can you please confirm that using an old version works or try to restore the pre-service pack version by registering the following script under the ScriptManager?

Telerik.Web.UI.Button.PostbackFunctionality.prototype.clicked = function (ev) {
    var that = this;
    var baseResult = that.base.clicked(ev);

    that._isInput = that._isEventTargetButton(ev);

    //FIX: The AjaxManager does not update the affected update panels when the default button fires the click under IE browsers,
    //so we need to set _activeDefaultButtonClicked to null, in order to for the Ajax to work
    var requestManager = Sys.WebForms ? Sys.WebForms.PageRequestManager.getInstance() : null;
    if (requestManager) requestManager._activeDefaultButtonClicked = true;

    // old version code
    var pbResult = that.options.autoPostBack ? that._postback() : false;

    // new version code
    //var pbResult = that.options.autoPostBack;
    //var isNavigating =
    //    (that.options.buttonType == 1
    //        || that.options.buttonType == 4)
    //    && that.options.navigateUrl != "";

    //if (pbResult && !isNavigating) {
    //    that._postback();
    //}
    //else {
    //    pbResult = false;
    //}

    if (requestManager) requestManager._activeDefaultButtonClicked = false;

    delete that._isInput;

    return (baseResult && pbResult);
}

 

Looking forward to your reply.

Regards,
Peter Milchev
Progress Telerik