Office 365 Update Changes ‘Display Name’ on Required Fields
Observant SPServices user GregRT noticed something on Office365 today that I figured couldn’t be true. He posted the following in the discussions on the SPServices Codeplex site:
FYI – I had left my debug on.
Users were getting errors on there forms that a field could not be found by SPServices.
MSFT has changed the display name of required fields when it lands in the DOM. I had a cascade going from parentColumn ‘Division’ to childColumn ‘SalesCenter’ (both required fields) – working last week with the display names as ‘Divison’ and ‘SalesCenter’ … now when the form renders in the DOM the display names are ‘Division Required Field’ and ‘SalesCenter Required Field’ – no indication in the UI that this is modified.
Hope this helps someone!
My first reaction was to question whether this could be right.
For years, we’ve been able to reliably select a regular dropdown (select) easily by using the column’s Title. The markup has looked something like this (depending on SharePoint version):
<select id="Region_59566f6f-1c3b-4efb-9b7b-6dbc35fe3b0a_$LookupField" title="Region">
so we could use a jQuery selector like this:
var regionSelect = $("select[Title='Region']");
However, GregT is right. In one of my demo sites on Office365, when I set a the Region column to required I’m seeing this markup instead:
<select id="Region_59566f6f-1c3b-4efb-9b7b-6dbc35fe3b0a_$LookupField" title="Region Required Field">
I expect this will be a problem not just for everyone using SPServices, but for many custom scripts as well.
Not only does this become a breaking change, it’s just plain bad practice.
If you run into this issue, a quick fix solution would be:
var regionSelect = $("select[Title='Region'], select[Title='Region Required Field']");
It’s not enough for your selector to look for a Title which *starts* with ‘Region’; you might have a column called ‘Region2’ or ‘Regions’ as well, so you’d get false positives.
I’ll see if I can find out any more details on why this may have happened and whether it’s permanent. Ugh.
[notice]2014-01-24 8pm EST – Based on info from Christophe below and several others, the issue seems to arise somewhere between vti_buildversion:SR|16.0.2308.1208 and vti_buildversion:SR|16.0.2510.1204. You can check your version by going to /_vti_pvt/buildversion.cnf in your Offic365 tenant. See: http://corypeters.net/2013/07/getting-the-product-version-for-sharepoint-online/[/notice]
[notice]2014-01-24 11pm EST – The PG reached out to me and they are investigating the issue. I’ll post more info as I get it.[/notice]
[notice]2014-01-31 9am EST – Based on the information I’ve gotten from the PG so far (not a lot), I’m going to assume this is a permanent change. The ostensible reason, as suggested by several people in the comments below, is to improve accessibility using screen readers. It’s hard to argue with that, but it’s still an unfortunate change.
I’ve also checked with a few people running non-English tenants, and the titles are localized, like so:
- Swedish: “Namn Obligatoriskt fält” or “Name Required Field”.
- Russion: “RegSelect Обязательное поле” or “RegSelect Required Field”
- etc.
I’ve also received reports (several below in the comments) that this issue is popping up with SharePoint 2010 after applying the December CU. More on that as I get further details.
Based on this, I’m getting a fix ready in the 2014.01 release and will try to get it out there shortly. Methinks it’s going to become a game of catch up from now on.
[/notice]
[notice]2014-02-03 12:40m EST – SPServices 2014.01ALPHA2 posted with a fix for the issue on Office365. As soon as I can get an example of how the issues arises in SharePoint 2010, I hope to have that fix as well. [/notice]
[notice]2014-02-19 SPServices 2014.01 released with fixes for every implication of these changes of which I am aware. If you’ve run into this issue, please upgrade!
[/notice]
I have nothing useful to add other than to bark, “Me Too!”. I’ve just discovered that this nasty little surprise (title attribute on “Name” fields changing from “Name” to “Name Required Field”) when troubleshooting an outage complaint today. In my case, it’s not so much SPServices that’s affected, but any jQuery I’ve got using this as a selector. I have no idea how often I’ve used this selector and not even sure how to begin figuring that out. I guess I’ll find out as people report the problem. Not sure how long ago (weeks/months, but most likely not more than a couple of months) this occurred, but will update if I can narrow it down.
Just FYI, I left a comment yesterday about this happening to me too. I was able to isolate the time period to one weekend in January, then checked back with my sys admin who said they installed “SharePoint Service Pack 2 and Cumulative updates through December 2013”.
Seems like this issue is back with the May 2015 CU
Joe:
It never went away. Once it was there, it was there. Some call it an issue, others call it a feature.
M.