最近搜索


没有最近搜索

Kevin Witt's Avatar

Kevin Witt

已加入2021年4月16日

·

最后活动2021年10月29日

关注

0

关注者

0

活动总数

11

投票

0

订阅

8

活动概览

的最新活动 Kevin Witt

Kevin Witt 进行了评论,

社区评论 Discussion - Tips and best practices from the community

A big thank-you to @..., you saved me allot of time with this.

 

查看评论 · 已于 2019年10月21日 发布 · Kevin Witt

0

关注者

0

投票

0

评论


Kevin Witt 进行了评论,

社区评论 Discussion - Tips and best practices from the community

Sure, a configured as per the article (Except I didn't hide the checkbox at this point so I can see what is happening).

I have a drop-down that determines if the attachment is required, with the options "Attachment not required" and "Attachment required".

The error I see in the console is:

The HC is in my sandbox: https://unifydemo1508140682.zendesk.com

The form is called "Attachment Test".

My JS is as follows:

// Callback function to execute when mutations in form attachments or dropdown are observed:
// clear or select Attachment checkbox according to dropdown
var mutationObservedForm = function (mutationsList) {
mutationsList.forEach(function (mutation) {
if (mutation.type == 'childList') {
setFormAttachmentCheckbox();
}
});
};

// Define some variables for requiring form attachments
var attachmentCheckboxField = 'request_custom_fields_360003651537';
var attachmentCheckboxId = '#' + attachmentCheckboxField;
var attachmentErrorNotification = 'Report must be attached';
var formDropdownClass = '.request_custom_fields_360003651357';
var formObserveMutationOptions = { childList: true, subtree: true };

// Clear or select checkbox according to dropdown and attachments:
// Set Attachment checkbox if no attachments required, or if attachments are required and at least one is uploaded, otherwise clear it
function setFormAttachmentCheckbox() {
if (isFormAttachmentRequired()) {
if ($('#request-attachments-pool .upload-item').length) {
selectCheckbox(attachmentCheckboxId);
}
else {
clearCheckbox(attachmentCheckboxId);
}
}
else {
selectCheckbox(attachmentCheckboxId);
}
}

// Return true if dropdown option 'ABCD' is selected
function isFormAttachmentRequired() {
return $(formDropdownClass + ' a.nesty-input').attr('aria-expanded') &&
$(formDropdownClass + ' a.nesty-input').text() === 'Attachment required';
}

// Select checkbox
function selectCheckbox(eltselector) {
$(eltselector).prop('checked', true);
}

// Clear checkbox
function clearCheckbox(eltselector) {
$(eltselector).prop('checked', false);
}

// If attachment checkbox field exists, select it,
// and watch for changes to attachments and dropdown
if ($(attachmentCheckboxId).length) {
selectCheckbox(attachmentCheckboxId);
startObserveMutations('#request-attachments-pool', formObserveMutationOptions, mutationObservedForm);
startObserveMutations(formDropdownClass, formObserveMutationOptions, mutationObservedForm);
}

// Adjust attachment error notification
var attachmentErrorElt = $('.' + attachmentCheckboxField + ' .notification-error');
if (attachmentErrorElt.length) {
attachmentErrorElt.text(attachmentErrorNotification);
}


查看评论 · 已于 2019年10月17日 发布 · Kevin Witt

0

关注者

0

投票

0

评论


Kevin Witt 进行了评论,

社区评论 Discussion - Tips and best practices from the community

Great article, but I am having problems with the js.  I get the following error in console "startObserveMutations is not defined".

Am I missing something?

查看评论 · 已于 2019年10月17日 发布 · Kevin Witt

0

关注者

0

投票

0

评论