翻譯|使用教程|編輯:吉煒煒|2025-04-28 13:34:26.390|閱讀 148 次
概述:ONLYOFFICE 表單可以輕松收集結構化輸入,但空的、非必填字段經常會被忽略。在本篇博文中,我們將演示如何構建一個宏,用于突出顯示表單中所有空的、非必填字段,或者僅突出顯示包含特定提示文本的字段。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
ONLYOFFICE 表單可以輕松收集結構化輸入,但空的、非必填字段經常會被忽略。在本篇博文中,我們將演示如何構建一個宏,用于突出顯示表單中所有空的、非必填字段,或者僅突出顯示包含特定提示文本的字段。
該宏首先使用 Api.GetDocument() 訪問活動文檔。然后,我們檢索兩組信息:
var doc = Api.GetDocument(); var forms = doc.GetAllForms(); var formsData = JSON.parse(JSON.stringify(doc.GetFormsData()));
有時您可能只想檢查那些帶有特定提示文本的空字段。在我們的宏中,您可以通過切換 checkSpecificTip 變量來啟用或禁用此功能。例如,您可能需要只驗證提示為“請輸入您的第二個地址”的字段。
// 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.
然后,該宏會遍歷 JSON 數據中的每個表單字段。我們只關注文本表單字段(類型為“text”)。對于每個未標記為必填的文本字段,我們會檢查其值是否為空。
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.");
(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."); })();
現在,讓我們運行宏并看看它是如何工作的!
此宏會自動檢測并高亮顯示包含預定義占位符文本的空文本字段,從而節省時間并減少重復工作。我們希望它能夠幫助您優化 ONLYOFFICE 表單并提升整體工作流程效率。
關于慧都科技:
慧都科技是一家行業數字化解決方案公司,長期專注于軟件、油氣與制造行業。公司基于深入的業務理解與管理洞察,以系統化的業務建模驅動技術落地,幫助企業實現智能化運營與長期競爭優勢。在軟件工程領域,我們提供開發控件、研發管理、代碼開發、部署運維等軟件開發全鏈路所需的產品,提供正版授權采購、技術選型、個性化維保等服務,幫助客戶實現技術合規、降本增效與風險可控。慧都科技ONLYOFFICE在中國的官方授權代理商,提供ONLYOFFICE系列產品免費試用,咨詢,正版銷售等于一體的專業化服務。ONLYOFFICE是文檔在線編輯領域的優秀產品,幫助企業實現高效的文檔協同處理。
下載|體驗更多ONLYOFFICE產品,請咨詢,或撥打產品熱線:023-68661681
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網