翻譯|使用教程|編輯:吉煒煒|2025-04-28 13:34:26.390|閱讀 148 次
概述:ONLYOFFICE 表單可以輕松收集結(jié)構(gòu)化輸入,但空的、非必填字段經(jīng)常會(huì)被忽略。在本篇博文中,我們將演示如何構(gòu)建一個(gè)宏,用于突出顯示表單中所有空的、非必填字段,或者僅突出顯示包含特定提示文本的字段。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
ONLYOFFICE 表單可以輕松收集結(jié)構(gòu)化輸入,但空的、非必填字段經(jīng)常會(huì)被忽略。在本篇博文中,我們將演示如何構(gòu)建一個(gè)宏,用于突出顯示表單中所有空的、非必填字段,或者僅突出顯示包含特定提示文本的字段。
該宏首先使用 Api.GetDocument() 訪問活動(dòng)文檔。然后,我們檢索兩組信息:
var doc = Api.GetDocument(); var forms = doc.GetAllForms(); var formsData = JSON.parse(JSON.stringify(doc.GetFormsData()));
有時(shí)您可能只想檢查那些帶有特定提示文本的空字段。在我們的宏中,您可以通過切換 checkSpecificTip 變量來啟用或禁用此功能。例如,您可能需要只驗(yàn)證提示為“請(qǐng)輸入您的第二個(gè)地址”的字段。
// Optional: set to true to check only fields with a specific tip text. var checkSpecificTip = false; var requiredTipText = "Please enter your second address"; // Change this as needed.
然后,該宏會(huì)遍歷 JSON 數(shù)據(jù)中的每個(gè)表單字段。我們只關(guān)注文本表單字段(類型為“text”)。對(duì)于每個(gè)未標(biāo)記為必填的文本字段,我們會(huì)檢查其值是否為空。
forms.forEach(function(form) { if (form.GetFormType() === "textForm") { var key = form.GetFormKey(); var required = form.IsRequired() // Find corresponding form data by key. var formData = formsData.find(function(fd) { return fd.key === key; }); if (formData) { // A field is considered empty if its value is missing or only whitespace. var isEmpty = !formData.value || formData.value.trim() === ""; // Use the live form's GetTip() to get the tip (if available). var tip = form.GetTipText() ? form.GetTipText() : ""; var shouldCheck = !checkSpecificTip || (checkSpecificTip && tip.trim() === requiredTipText.trim()); if (shouldCheck && isEmpty && !required) { form.SetBorderColor(0,255,127); // spring green border. form.SetBackgroundColor(171, 242, 255); // Light blue background. invalidCount++; } } } });
最后,宏記錄突出顯示的空的不需要的文本字段的總數(shù)。
console.log("Form Field Validator complete. " + invalidCount + " empty unrequired text field(s) highlighted.");
(function () { // Optional: set to true to check only fields with a specific tip text. var checkSpecificTip = false; var requiredTipText = "Please enter your second address"; // Change this as needed. var doc = Api.GetDocument(); var forms = doc.GetAllForms(); var formsData = JSON.parse(JSON.stringify(doc.GetFormsData())); var invalidCount = 0; forms.forEach(function(form) { if (form.GetFormType() === "textForm") { var key = form.GetFormKey(); var required = form.IsRequired() // Find corresponding form data by key. var formData = formsData.find(function(fd) { return fd.key === key; }); if (formData) { // A field is considered empty if its value is missing or only whitespace. var isEmpty = !formData.value || formData.value.trim() === ""; // Use the live form's GetTip() to get the tip (if available). var tip = form.GetTipText() ? form.GetTipText() : ""; var shouldCheck = !checkSpecificTip || (checkSpecificTip && tip.trim() === requiredTipText.trim()); if (shouldCheck && isEmpty && !required) { form.SetBorderColor(0,255,127); // spring green border. form.SetBackgroundColor(171, 242, 255); // Light blue background. invalidCount++; } } } }); console.log("Form Field Validator complete. " + invalidCount + " empty unrequired text field(s) highlighted."); })();
現(xiàn)在,讓我們運(yùn)行宏并看看它是如何工作的!
此宏會(huì)自動(dòng)檢測并高亮顯示包含預(yù)定義占位符文本的空文本字段,從而節(jié)省時(shí)間并減少重復(fù)工作。我們希望它能夠幫助您優(yōu)化 ONLYOFFICE 表單并提升整體工作流程效率。
關(guān)于慧都科技:
慧都科技是一家行業(yè)數(shù)字化解決方案公司,長期專注于軟件、油氣與制造行業(yè)。公司基于深入的業(yè)務(wù)理解與管理洞察,以系統(tǒng)化的業(yè)務(wù)建模驅(qū)動(dòng)技術(shù)落地,幫助企業(yè)實(shí)現(xiàn)智能化運(yùn)營與長期競爭優(yōu)勢。在軟件工程領(lǐng)域,我們提供開發(fā)控件、研發(fā)管理、代碼開發(fā)、部署運(yùn)維等軟件開發(fā)全鏈路所需的產(chǎn)品,提供正版授權(quán)采購、技術(shù)選型、個(gè)性化維保等服務(wù),幫助客戶實(shí)現(xiàn)技術(shù)合規(guī)、降本增效與風(fēng)險(xiǎn)可控。慧都科技ONLYOFFICE在中國的官方授權(quán)代理商,提供ONLYOFFICE系列產(chǎn)品免費(fèi)試用,咨詢,正版銷售等于一體的專業(yè)化服務(wù)。ONLYOFFICE是文檔在線編輯領(lǐng)域的優(yōu)秀產(chǎn)品,幫助企業(yè)實(shí)現(xiàn)高效的文檔協(xié)同處理。
下載|體驗(yàn)更多ONLYOFFICE產(chǎn)品,請(qǐng)咨詢,或撥打產(chǎn)品熱線:023-68661681
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都網(wǎng)