$(document).ready(function () { const OCRConfig = { "Grant2026": ['TheID', 'ShnatLimudMitzooi'] }; const SubjectFieldId = 'ShanaAkademit'; const SubjectFieldElement = document.querySelector(`[fieldid='fld_${SubjectFieldId}']`); const finishForm = document.querySelector('#finishForm'); const originalOnClick = finishForm.onclick; SubjectFieldElement.addEventListener('change', function () { window.SubjectValue = this.value; if (finishForm.hasAttribute('onclick')) { document.querySelector('#finishForm').attributes.removeNamedItem('onclick') } finishForm.onclick = function (event) { // Clean OCR Field First document.querySelector("[fieldid='OCRResult'] .textArea textarea").value = ''; if (window.SubjectValue in OCRConfig) { updateOCRResult(); if (typeof originalOnClick === 'function') { originalOnClick.call(this, event); } } else { if (typeof originalOnClick === 'function') { originalOnClick.call(this, event); } } } }); function updateOCRResult() { const data = {}; const fields = OCRConfig[window.SubjectValue] ?? []; fields.forEach(id => { const field = document.querySelector(`[fieldid='${id}']`) const el = field?.querySelector('input') ?? field?.querySelector('select') if (id === 'TheID') { const value = el?.value ?? ''; data[id] = value ? String(Number(value)) : ''; } else { var value = el?.value ?? ''; data[id] = sanitize(value); } }); document.querySelector( "[fieldid='OCRResult'] .textArea textarea" ).value = JSON.stringify(data); } function sanitize(value) { return value.replace(/[\/\\!@#$%^&*()+=\[\]{};:'"<>,.?~|]/g, ''); } })