Hi,
I am having trouble disabling a cascading element child element in Script-Runner behaviours. When selecting this element with this script:
def childElement = getFieldById("customfield_13062:1")
childElement.setHidden(false)
childElement.setRequired(true)
childElement.setReadOnly(false)
The following error appears in the browser console:
Uncaught (in promise) Error: Syntax error, unrecognized expression: unsupported pseudo: 1-field
at re.error (batch.js?locale=en-US:54:8303)
at PSEUDO (batch.js?locale=en-US:54:11353)
at xe (batch.js?locale=en-US:54:15506)
at re.compile (batch.js?locale=en-US:54:16952)
at re.select (batch.js?locale=en-US:54:17621)
at Function.re (batch.js?locale=en-US:54:2951)
at u.find (batch.js?locale=en-US:295:3640)
at u.fn.init.find (batch.js?locale=en-US:54:19592)
at u.fn.find (batch.js?locale=en-US:297:4559)
at e.getFieldForCss (batch.js?agile_global_admin_condition=true&baseurl-check-resources=true&healthcheck-resources=true&jag=true&jaguser=true&jira.create.linked.issue=true&locale=en-US&richediton=true:5093:103437)
It seems that the element "customfield_13062:1" is being interpreted as a CSS pseudo-class and breaking the validation script. How can I work around this?
Thank you.
Regards.
Hi @Daniel R_,
your approach is correct but, according to HTML specs, the select tag in HTML doesn't have a readonly attribute, only a disabled attribute; so it doesn't work. A good workaround to do this, is the following:
def childElement = getFieldById("customfield_13062:1")
// To Disable
childElement.setDescription("<style onload=\"document.getElementById(\'customfield_13062:1\').setAttribute(\'disabled\',\'\')\"></style>")
// To Enable
//childElement.setDescription("<style onload=\"document.getElementById(\'customfield_13062:1\').removeAttribute(\'disabled\')\"></style>")
Sadly it appears that ScriptRunner's Behaviour getFieldById is not correctly sanitized and will throw an exception if trying to select a field with a colon in it's name.
Thanks for your help anyway.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.