家谱现有接口调试50%
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
(function (root, factory) {
|
||||
// 表单工具只处理跨页面通用转换,具体业务字段留在页面脚本中组织。
|
||||
if (typeof module === 'object' && module.exports) {
|
||||
module.exports = factory();
|
||||
return;
|
||||
}
|
||||
|
||||
root.FormUtil = factory();
|
||||
})(typeof globalThis !== 'undefined' ? globalThis : window, function () {
|
||||
'use strict';
|
||||
|
||||
function trimOrUndefined(value) {
|
||||
if (value === undefined || value === null) return undefined;
|
||||
|
||||
var text = String(value).trim();
|
||||
return text ? text : undefined;
|
||||
}
|
||||
|
||||
function toNumberOrUndefined(value) {
|
||||
var text = trimOrUndefined(value);
|
||||
if (text === undefined) return undefined;
|
||||
|
||||
var numberValue = Number(text);
|
||||
return Number.isNaN(numberValue) ? undefined : numberValue;
|
||||
}
|
||||
|
||||
function toBoolean(value) {
|
||||
if (value === true || value === false) return value;
|
||||
|
||||
var text = trimOrUndefined(value);
|
||||
if (text === undefined) return false;
|
||||
|
||||
return !['0', 'false', 'off', 'no'].includes(text.toLowerCase());
|
||||
}
|
||||
|
||||
function getControlValue(control) {
|
||||
if (!control || control.disabled || !control.name) return undefined;
|
||||
if (control.type === 'checkbox') return control.checked ? (control.value || 'on') : undefined;
|
||||
if (control.type === 'radio') return control.checked ? control.value : undefined;
|
||||
return control.value;
|
||||
}
|
||||
|
||||
function getFormValues(form) {
|
||||
var values = {};
|
||||
if (!form || !form.elements) return values;
|
||||
|
||||
Array.prototype.forEach.call(form.elements, function (control) {
|
||||
var value = getControlValue(control);
|
||||
if (value !== undefined) values[control.name] = value;
|
||||
});
|
||||
|
||||
return values;
|
||||
}
|
||||
|
||||
return {
|
||||
trimOrUndefined: trimOrUndefined,
|
||||
toNumberOrUndefined: toNumberOrUndefined,
|
||||
toBoolean: toBoolean,
|
||||
getFormValues: getFormValues
|
||||
};
|
||||
});
|
||||
Reference in New Issue
Block a user