Unrecognized expression in label causing admin submenu to hide

chris.paschen

Chris Paschen
I've got a complex form that we have built over the past few months with several repeating groups, quite a bit of javascript actions and just a lot of 'complexity'.
Everything was working on the front-end and we tried to open on the admin and we get some strange happenings.

The main thing is that when you are editing data in the form ALL admin sub-submenus are hidden - no fly-outs are available at the 3rd level of menus.

When checking the error console I'm seeing several errors:

We have a couple of GET errors:

Code:
GET https://.../components/com_fabrik/views/form/tmpl/book_build/template_css.php?c=13&rowid=59&view=form&rowid=59 net::ERR_ABORTED

Code:
GET https://.../components/com_fabrik/views/form/tmpl/book_build/custom_css.php?c=13&rowid=59&view=form&rowid=59 net::ERR_ABORTED

Then we get a notice about JQMIGRATE:

Code:
JQMIGRATE: Migrate is installed, version 1.4.1
index.php?option=com_fabrik&task=form.view&formid=13&rowid=59:180  Warning!
index.php?option=com_fabrik&task=form.view&formid=13&rowid=59:181  This browser feature is aimed to developers only. If you were instructed to copy here something to enable some kind of 'hidden feature', in reality it's an attempt to compromise your account
index.php?option=com_fabrik&task=form.view&formid=13&rowid=59:182  For further info see https://en.wikipedia.org/wiki/Self-XSS

And then we get one related to a specific element:

Code:
Uncaught Error: Syntax error, unrecognized expression: label[for=ked_books_books_24_repeat___review_this_provider[0]_input_0]
    at Function.fa.error (jquery.min.js?b035632ce9a49dc94e2db07179551c4e:2)
    at fa.tokenize (jquery.min.js?b035632ce9a49dc94e2db07179551c4e:2)
    at fa.select (jquery.min.js?b035632ce9a49dc94e2db07179551c4e:2)
    at Function.fa (jquery.min.js?b035632ce9a49dc94e2db07179551c4e:2)
    at Function.a.find (jquery-migrate.min.js?b035632ce9a49dc94e2db07179551c4e:2)
    at n.fn.init.find (jquery.min.js?b035632ce9a49dc94e2db07179551c4e:2)
    at n.fn.init.a.fn.find (jquery-migrate.min.js?b035632ce9a49dc94e2db07179551c4e:2)
    at a.fn.init.n.fn.init (jquery.min.js?b035632ce9a49dc94e2db07179551c4e:2)
    at new a.fn.init (jquery-migrate.min.js?b035632ce9a49dc94e2db07179551c4e:2)
    at n (jquery.min.js?b035632ce9a49dc94e2db07179551c4e:2)

The strange thing is that we still get the same errors even if I unpublish the review_this_provider element.
I've checked the label on this element and it's just text.

We're using the isis admin template.

Any ideas what might be causing this issue, where to start looking, or how to resolve?
 
That last one should be fixed in this commit:

https://github.com/Fabrik/fabrik/commit/e81827a7d603da611ab5b484ab7a3fa683ecb39a

I'd added setting "label for" in our grid building code, so for radios and checkboxes the individual inputs need their own specific ID, which the label can reference. This is some preparatory work for adding Aria accessibility. Anyway, I'd messed up and not taken repeat groups into consideration when building the ID, so it was getting that extra [x] in it ...

ked_books_books_24_repeat___review_this_provider[0]_input_0

... which isn't a legal ID. With the fix, that now becomes ...

ked_books_books_24_repeat___review_this_provider_0_input_0

... which is legal.

Try applying that, and see if your menus start working. If they are built with Javascript, then an error during init of the page would break them.

-- hugh
 
We are in need of some funding.
More details.

Thank you.

Members online

Back
Top