- Telerik.Web.UI v <= 2009.3.1314 and RadComboBox Classic;
- All versions of IE from 6 to 9;
- Telerik.Web.UI - some versions;
- IE9 Compatibility View;
- Installed Google Toolbar with 'Auto Fill' enabled;
As an emergency measure we wrote a small patch that fixed the problem. The patch does not address anything else except the problem the update introduced and will not be extended beyond that.
The problem originates in the ASP.NET AJAX framework, which fires an event one extra time unexpectedly. Perhaps there is something wrong at the DOM level but we have not invested time in investigating the root cause of this yet. If the patch is stable we will not do so in the future as well.
Below is the code you could put on your pages that are affected if you are using RadComboBox for ASP.NET AJAX:
<script type=
"text/javascript"
>
var
prototype = Telerik.Web.UI.RadComboBox.prototype;
var
set_text = prototype.set_text;
var
propertyChange = prototype._onInputPropertyChange;
prototype.set_text =
function
(value) {
this
._skipEvent = 0;
set_text.call(
this
, value);
};
prototype._onInputPropertyChange =
function
() {
if
(!event.propertyName)
event = event.rawEvent;
if
(event.propertyName ==
"value"
) {
this
._skipEvent++;
if
(
this
._skipEvent == 2)
return
;
propertyChange.call(
this
);
}
};
</script>
The same patch for RadComboBox Classic is:
<script type=
"text/javascript"
>
var
prototype = RadComboBox.prototype;
var
set_text = prototype.SetText;
var
propertyChange = prototype.OnInputPropertyChange;
prototype.SetText =
function
(value) {
this
._skipEvent = 0;
set_text.call(
this
, value);
};
prototype.OnInputPropertyChange =
function
() {
if
(!event.propertyName)
event = event.rawEvent;
if
(event.propertyName ==
"value"
) {
this
._skipEvent++;
if
(
this
._skipEvent == 2)
return
;
propertyChange.call(
this
);
}
};
</script>
Additional Note: The same problem exists with the latest version of Telerik.Web.UI in IE9 Compatibility View Mode only if the Google Toolbar add-on is installed. The above patch only alleviates the problem - it does not fix it completely. We will be investigating this in the future and will update this post if there is progress. In the meantime, you could avoid the problem by disabling the add-on's 'Auto Fill' feature.
Please share your experience with the patch in this forum thread instead of starting new ones.
UPDATE: In response to user comments we added a patch for RadComboBox Classic and info about the proper location of both scripts.
20 Answers, 1 is accepted
I have found that the MarkFirstMatch is buggy with this fix. It does work for the most part, but I've had a few experiences when the autocomplete doesn't work until I type the next character. I can be 2 or 3 characters in and all is working as it should and then on the next character the MarkFirstMathc doesn't work until I move on to the next character.
I've tried removing the specific update and it seems to unload OK and my RadComboBox's work again.
Our application which uses the RadComboBox extensively is running at many client sites. Only one has loaded the recent MS updates and has been affected by this. I've e-mailed the others and asked them not to deploy any MS updates until we know the cause of the problem... at least now I know which update it is.
I'm not all that excited about adding this script to every page (60+ pages), especially if it doesn't fix the problem 100%, and then re-deploying the new version.
Should I...
- wait...expecting a better fix for this sometime soon
- ask the sites to never deploy KB2586448
- update my version of Telerik asap (I know we had to do this eventually... but lots of testing and redeploying still required... I'd prefer not to be doing this in a hurry)
Regards.
Jeff
Please help.
Regards,
Pankaj
Please provide us with some solution as above one is not working properly.
Regards
Breaking on this line
var prototype = Telerik.Web.UI.RadComboBox.prototype;
Can't tell clients not to deploy Microsoft update, and can't update pages with code because of this reference. What am I missing? How can this be resolved....
Breaking on this line
var prototype = Telerik.Web.UI.RadComboBox.prototype;
Can't tell clients not to deploy Microsoft update, and can't update pages with code because of this reference. What am I missing? How can this be resolved....
Breaking on this line
var prototype = Telerik.Web.UI.RadComboBox.prototype;
Can't tell clients not to deploy Microsoft update, and can't update pages with code because of this reference. What am I missing? How can this be resolved....
Breaking on this line
var prototype = Telerik.Web.UI.RadComboBox.prototype;
Can't tell clients not to deploy Microsoft update, and can't update pages with code because of this reference. What am I missing? How can this be resolved....
Should there be a ticket opened here? Or we forced to update.....
i was getting an Opps page saying go back and try again, go to search, home etc... and didn't notice it was actually posting while giving me an opps try again page.... Sorry about the multisubmits.... but.... I do also feel this needs to be addressed asap as this breaks the control ......
Hi
First of all, got to say I'm pretty disappointed with Telerik's support on this matter (and, indeed, any customer problems that are not "straight-forward").
Anyway, like many other people on this thread, I too found the published patch didn't work in our situation.
After a bit of troubleshooting, I found this was for a couple reasons:
- It wasn't explictly stated, but it seems that the code for the patch neeeds to be inserted at the bottom of your page. It won't work if you put it up in the <head> with other scripts. I put mine just above the closing </body> tag.
- We are running 2010.1.415.35 and it seems that many property names have changed. (I discovered the correct names by running Fiddler and viewing the .axd data that was being sent to the browser). The following code (adapted from the original patch) seems to work for us:
<script type=
"text/javascript"
>
var
prototype = RadComboBox.prototype;
var
set_text = prototype.SetText;
var
propertyChange = prototype.OnInputPropertyChange;
prototype.SetText =
function
(value) {
this
._skipEvent = 0;
set_text.call(
this
, value);
};
prototype.OnInputPropertyChange =
function
() {
if
(!event.propertyName)
event = event.rawEvent;
if
(event.propertyName ==
"value"
) {
this
._skipEvent++;
if
(
this
._skipEvent == 2)
return
;
propertyChange.call(
this
);
}
};
</script>
Anyway, good luck to everyone else who is battling with this problem.
Cheers
Thanks a lot for your fix. Its working fine on my machine. Just need to test it on my Client's machine.
Regards,
Pankaj
Thanks In Advance For Any Help.
:S
var prototype = Telerik.Web.UI.RadComboBox.prototype;
I placed a Radcombox box on my masterpage wrapped between <div></div>
after that I place the patch script just above the </body> tag and it appears to work.
thx to all
if
(typeof (Telerik.Web.UI.RadComboBox) != "undefined") {
}
if there is a better way to check please advise. Thanks In advance.
The following code-block checks if RadComboBox controls are rendered on the page:
function
pageLoad() {
if
(Telerik.Web.UI.RadComboBox == undefined) {
//There are no RadComboBox controls on the page.
alert(
"No RadComboBoxes rendered!"
);
}
else
{
//Gets the number of the RadComboBox controls rendered on the page.
var
numberOfCombos = Telerik.Web.UI.RadComboBox.ComboBoxes.length;
alert(numberOfCombos +
" RadComboBoxes redered!"
);
}
}
I hope this helps.
Kind regards,
Ivana
the Telerik team