## 演示地址:
详见:[http://tp51admin.iyunj.cn/admin](http://tp51admin.iyunj.cn/admin)
![](https://img.kancloud.cn/c9/2b/c92b19c1f517942922aef3abfe116e94_1920x903.png)
> 单独引用单行文本框和富文本,代码示例如下:
```html
{extend name="$adminPage"}
{block name="headStyle"}
<style type="text/css">
.field-box {
padding: 15px 0;
}
.field-box:not(:first-child) {
border-top: 1px dashed #c2c2c2;
}
.field-box .title {
margin-bottom: 15px;
}
</style>
{/block}
{block name="content"}
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-body layui-form" lay-filter="test_form">
<!-- 单行文本框 -->
<div class="field-box text">
<div class="title">单行文本框示例</div>
<div class="control"></div>
<div class="btn-box" data-field-key="text_key">
<button type="button" class="layui-btn layui-btn-sm btn-set-val" data-value="你好">设置单行文本框示例值为:你好
</button>
<button type="button" class="layui-btn layui-btn-sm btn-get-val">获取单行文本框示例值</button>
</div>
</div>
<!-- 复选框 -->
<div class="field-box checkbox">
<div class="title">复选框示例</div>
<div class="control"></div>
<div class="btn-box" data-field-key="checkbox_key">
<button type="button" class="layui-btn layui-btn-sm btn-set-val" data-value="2">设置复选框示例值为:香蕉
</button>
<button type="button" class="layui-btn layui-btn-sm btn-get-val">获取复选框示例值</button>
</div>
</div>
<!-- 富文本 -->
<div class="field-box editor">
<div class="title">富文本示例</div>
<div class="control"></div>
<div class="btn-box" data-field-key="editor_key">
<button type="button" class="layui-btn layui-btn-sm btn-set-val" data-value="<p>你好</p>">设置富文本示例值为:<p>你好</p></button>
<button type="button" class="layui-btn layui-btn-sm btn-get-val">获取富文本示例值</button>
</div>
</div>
<!-- markdown -->
<div class="field-box markdown">
<div class="title">Markdown示例</div>
<div class="control"></div>
<div class="btn-box" data-field-key="markdown_key">
<button type="button" class="layui-btn layui-btn-sm btn-set-val" data-value="## 你好">
设置Markdown示例值为:## 你好
</button>
<button type="button" class="layui-btn layui-btn-sm btn-get-val">获取Markdown示例值</button>
</div>
</div>
<!-- 按钮区域 -->
<div class="field-box btn-box">
<button type="button" class="layui-btn layui-btn-sm btn-clear-val">清空所有字段值</button>
<button type="button" class="layui-btn layui-btn-sm btn-reset-val">重置所有字段值</button>
<button type="button" class="layui-btn layui-btn-sm btn-all-val">获取所有字段值</button>
</div>
</div>
</div>
</div>
{/block}
{block name="script"}
<script type="text/javascript">
layui.use(['yunj', "jquery", "validate"], function () {
let win = window;
let doc = document;
let $ = layui.jquery;
let validate = layui.validate;
class SingleField {
constructor() {
this.formId = "test_form";
this.formFieldObj = {};
this.init();
}
init() {
let that = this;
that.setText();
that.setCheckbox();
that.setEditor();
that.setMarkdown();
that.setEventBind();
}
// 设置单行文本框
setText() {
let that = this;
// 配置项
let options = {
formId: that.formId,
key: "text_key",
args: {
default: "初始值",
verifyTitle: "单行文本框"
}
};
yunj.formField("text", options).then(field => {
// 指定父容器渲染
return field.render(`.field-box.text .control`);
}).then(field => {
// 保存字段对象
that.formFieldObj[options.key] = field;
}).catch(err => {
console.log(err);
});
}
// 设置复选框
setCheckbox() {
let that = this;
// 配置项
let options = {
formId: that.formId,
key: "checkbox_key",
args: {
default: 1,
options: {
1: "苹果",
2: "香蕉",
3: "西瓜"
},
verifyTitle: "复选框"
}
};
yunj.formField("checkbox", options).then(field => {
// 指定父容器渲染
return field.render(`.field-box.checkbox .control`);
}).then(field => {
// 保存字段对象
that.formFieldObj[options.key] = field;
}).catch(err => {
console.log(err);
});
}
// 设置富文本
setEditor() {
let that = this;
// 配置项
let options = {
formId: that.formId,
key: "editor_key",
args: {
default: "富文本初始值",
verifyTitle: "富文本"
}
};
yunj.formField("editor", options).then(field => {
// 指定父容器渲染
return field.render(`.field-box.editor .control`);
}).then(field => {
// 保存字段对象
that.formFieldObj[options.key] = field;
}).catch(err => {
console.log(err);
});
}
// 设置Markdown
setMarkdown() {
let that = this;
// 配置项
let options = {
formId: that.formId,
key: "markdown_key",
args: {
default: "Markdown初始值",
verifyTitle: "Markdown"
}
};
yunj.formField("markdown", options).then(field => {
// 指定父容器渲染
return field.render(`.field-box.markdown .control`);
}).then(field => {
// 保存字段对象
that.formFieldObj[options.key] = field;
}).catch(err => {
console.log(err);
});
}
// 事件绑定
setEventBind() {
let that = this;
// 根据字段对象设置单个字段值
$(".field-box .btn-box .btn-set-val").on("click", function () {
let fieldKey = $(this).parents(".btn-box").eq(0).data("fieldKey");
let fieldObj = that.formFieldObj.hasOwnProperty(fieldKey) ? that.formFieldObj[fieldKey] : null;
if (!fieldObj) {
alert(`字段key=[${fieldKey}]还未完成渲染`);
return;
}
let value = $(this).data("value");
fieldObj.setValue(value);
});
// 根据字段对象获取单个字段值
$(".field-box .btn-box .btn-get-val").on("click", function () {
let fieldKey = $(this).parents(".btn-box").eq(0).data("fieldKey");
let fieldObj = that.formFieldObj.hasOwnProperty(fieldKey) ? that.formFieldObj[fieldKey] : null;
if (!fieldObj) {
alert(`字段key=[${fieldKey}]还未完成渲染`);
return;
}
alert(`字段[${fieldKey}] = ` + fieldObj.getValue());
});
// 根据表单id清空所有字段值
$(".field-box.btn-box .btn-clear-val").on("click", function () {
yunj.formClear((that.formId));
});
// 根据表单id重置所有字段值
$(".field-box.btn-box .btn-reset-val").on("click", function () {
yunj.formReset(that.formId);
});
// 根据表单id获取所有字段值
$(".field-box.btn-box .btn-all-val").on("click", function () {
let formData = yunj.formData(that.formId, validate);
alert(JSON.stringify(formData));
});
}
}
$(doc).ready(function () {
new SingleField();
});
});
</script>
{/block}
```
- 序言
- 基础
- 安装
- 目录结构
- 配置
- 版本
- 控制器
- 使用说明
- 视图模板
- 使用说明
- 区块重写
- seo
- headStyle
- headScript
- content
- script
- 验证器
- TP验证器
- 使用说明
- 自动处理
- 数据处理
- 前端验证器
- 概述
- 调用示例
- 通用验证规则
- 表单构建器
- 基础示例
- 初始化
- 链式操作
- tab
- url
- field
- fieldValidate
- button
- load
- submit
- 渲染输出
- 字段配置
- 使用说明
- 隐藏域(hidden)
- 文本框(text)
- 文本域(textarea)
- 密码框(password)
- 富文本(editor)
- 文档编辑(markdown)
- 下拉选框(select)
- 单选框(radio)
- 复选框(checkbox)
- 开关(switch)
- 日期(date)
- 时间日期(datetime)
- 年份(year)
- 月份(month)
- 时间(time)
- 单图(img)
- 多图(imgs)
- 单文件(file)
- 多文件(files)
- 取色器(color)
- 地区联动(area)
- 下拉搜索(dropdownSearch)
- 树(tree)
- 自定义字段
- 单一字段调用
- 概述
- 示例
- 表格构建器
- 基础示例
- 初始化
- 链式操作
- state
- url
- page
- limit
- limits
- filter
- filterValidate
- toolbar
- defaultToolbar
- import
- cols
- count
- items
- event
- 渲染输出
- 表头配置
- 使用说明
- 枚举(enum)
- 时间日期(datetime)
- 单图(img)
- 多图(imgs)
- 单文件(file)
- 多文件(files)
- 拖拽排序(dragSort)
- 颜色呈现(color)
- 地区呈现(area)
- 操作栏(action)
- 自定义表头
- JS事件
- 异步事件监听
- 导入构建器
- 基础示例
- 初始化
- 链式操作
- sheet
- cols
- colsValidate
- limit
- tips
- row
- rows
- 渲染输出
- 主题开发
- 实现步骤
- 系统主题
- 注意
- PHP公共方法库
- 配置
- yunj_config
- 构建器
- YF
- YT
- YI
- 重定向
- url_tips
- redirect_tips
- throw_redirect
- 响应输出
- response_msg
- response_json
- success_json
- error_json
- throw_json
- throw_success_json
- throw_error_json
- 数组
- array_eq
- array_in
- array_supp
- array_depth
- array_insert
- array_key_prefix
- 验证
- is_mobile
- is_positive_int
- is_positive_integer
- is_json
- is_datetime
- is_md5_result
- 时间日期
- msectime
- 字符串
- rand_char
- filter_sql
- start_with
- exception_to_str
- 数据加解密
- aes_encrypt
- aes_decrypt
- rsa_encrypt
- rsa_decrypt
- rsa_sign
- rsa_sign_verify
- JS公共方法库
- 调用说明
- 数据类型
- varType
- 判断
- isMobile
- isObj
- isEmptyObj
- isArray
- isEmptyArray
- isString
- isEmptyString
- isBool
- isNumber
- isFloat
- isFunction
- isUndefined
- isJson
- isCsv
- isXls
- isXlsx
- 字符串
- fileExt
- fileNameExt
- currTimestamp
- currDatetime
- timestampFormat
- 对象
- objSupp
- 图片
- previewImg
- url
- url
- urlParam
- urlPushParam
- 页面
- openNewPage
- openTab
- openPopup
- rawPageWin
- redirectTab
- redirectLogin
- isPopupPage
- isTabPage
- currPageId
- close
- closeCurr
- closeAll
- 网络
- request
- 数据加解密
- aesEncrypt
- aesDecrypt
- rsaEncrypt
- rsaDecrypt
- rsaSign
- rsaSignVerify
- 附录
- 升级指导
- 更新日志