- 什么是自定义表单? (快速理解)
- 创建自定义表单的详细步骤 (核心操作)
- 如何将表单添加到网页中 (前端展示)
- 如何查看和管理提交的数据 (后台管理)
- 常见问题与高级技巧 (进阶内容)
什么是自定义表单?
自定义表单就是让你在不修改程序代码的情况下,通过后台可视化界面,自由创建一个包含各种输入字段(如文本框、下拉菜单、单选按钮、复选框等)的表单,当用户在前台网页填写并提交这个表单后,数据会自动保存到你的网站后台,方便你查看和管理。

应用场景:
- 联系我们:收集访客的姓名、电话、留言。
- 在线报名:用于活动、会议、课程的报名信息收集。
- 产品询价:让客户填写需求,获取产品报价。
- 问卷调查:收集用户反馈和建议。
创建自定义表单的详细步骤
这是整个流程的核心,请仔细跟随操作。
进入自定义表单管理界面
登录你的织梦网站后台,在左侧菜单栏中找到并点击 【核心】 -> 【自定义表单】。
创建一个新的自定义表单
在自定义表单管理页面,点击右上角的 【增加自定义表单】 按钮。

填写表单基本信息
你会看到一个表单,需要填写以下几个关键字段:
-
表单名称:
- 作用:这是你在后台识别这个表单的唯一名称,不会显示在前台网页上。
- 建议:起一个有意义的名字,如“联系我们表单”、“活动报名表单”等。
-
目录名称:
- 作用:系统会自动在数据库中为这个表单创建一个数据表,这个字段就是数据表的前缀。一旦创建,请勿修改,否则会导致数据错乱。
- 建议:使用默认的值,或者根据表单名称命名,如
lianxiwomen、baoming。
-
列表模板:
(图片来源网络,侵删)- 作用:用于设置后台数据列表页的显示样式,通常使用默认的即可。
- 操作:点击后面的 【选择】 按钮,从系统默认的模板中选择一个。
-
发布模板:
-
作用:非常重要! 这个模板决定了你的表单在前台网页长什么样,它是一个独立的HTML模板文件。
-
操作:
- 点击 【选择】,可以选用系统默认的模板(但通常不满足需求)。
- 强烈推荐:点击 【新建】 按钮,创建一个全新的模板文件,这样你就可以完全自定义表单的样式和布局。
-
新建模板示例:
- 在弹出的模板管理窗口,点击左上角 【增加新模板】。
- 模板名称:给模板起个名字,如
contact_form.htm。 - :在这里编写你的HTML表单代码。请务必参考下面的【模板代码示例】。
- 点击 【保存】。
-
-
列表行数:
- 作用:设置在后台每页显示多少条提交记录,默认10条即可。
-
默认排序:
- 作用:设置后台数据显示的默认排序方式,通常是按
id降序排列,即最新的提交在最上面,填写id DESC。
- 作用:设置后台数据显示的默认排序方式,通常是按
-
表单提示:
- 作用:用户提交表单后,前台页面会显示的提示信息。“您的信息已提交成功,我们会尽快与您联系!”。
-
是否启用:
- 作用:选择“是”或“否”,选择“是”表示该表单在前台可以正常提交和显示;选择“否”则前台用户无法提交,默认开启即可。
填写完所有信息后,点击 【确定】 按钮,至此,一个空的“表单容器”已经创建好了。
添加表单字段
创建完表单后,你需要为它添加具体的输入字段,姓名”、“电话”、“留言”等。
-
在刚刚创建的自定义表单列表中,找到你创建的表单,点击右侧的 【字段管理】。
-
在字段管理页面,点击 【增加字段】。
-
填写字段信息:
- 字段名称:
- 作用:数据库中的字段名,只能使用英文、数字和下划线,如
name,tel,content。一旦创建,也请勿修改。
- 作用:数据库中的字段名,只能使用英文、数字和下划线,如
- 字段提示:
- 作用:这是最重要的! 这个文字会显示在前台表单的输入框旁边,作为给用户的提示。“请输入您的姓名”、“请输入11位手机号”。
- 字段类型:
- 作用:选择该字段的输入形式。
- 常用类型:
text:单行文本输入框。textarea:多行文本框(用于留言、备注等)。select:下拉选择框(需要设置“选项”),选择意向产品。radio:单选按钮组(需要设置“选项”),选择性别。checkbox:复选框组(需要设置“选项”),选择兴趣爱好。datetime:日期时间选择器。varchar:与text类似,但长度有限。
- 默认值:
- 作用:为该字段设置一个默认值,下拉框的默认选项,或者文本框的默认提示文字(灰色字体,点击消失)。
- 是否必填:
- 作用:选择“是”后,用户提交表单时,如果这个字段为空,将无法提交,并会提示“该字段为必填项”。
- 数据校验:
- 作用:对输入内容进行格式验证。
- 常用校验:
email:验证是否为有效的邮箱地址。number:验证是否为纯数字。tel:验证是否为有效的手机号码(需要自定义正则表达式,见下文高级技巧)。
- 显示顺序:
- 作用:数字越小,字段在前台显示的位置越靠上。
- 字段名称:
-
点击 【保存】,然后重复此步骤,添加所有你需要的字段(如
name,tel,email,content等)。
如何将表单添加到网页中
你的表单结构和字段都已定义好,接下来就是把它展示给用户。
使用标签(推荐)
这是最灵活、最常用的方法。
-
创建模板文件:
- 在
/templets/default/目录下(或你当前使用的模板目录),创建一个新的HTML文件,lianxiwomen.htm。 - 在这个文件中,使用织梦的底层模板标签来调用表单。
- 在
-
模板代码示例 (
lianxiwomen.htm):
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">联系我们 - {dede:global.cfg_webname/}</title>
</head>
<body>
<h1>联系我们</h1>
<p>请填写以下表单,我们会尽快与您取得联系。</p>
{dede:myform name='lianxiwomen'} <!-- 这里的 'lianxiwomen' 是你在步骤二中创建的“表单名称” -->
<form action="{dede:field.formurl/}" method="post" enctype="multipart/form-data">
<!-- 系统会自动循环生成你之前定义的所有字段 -->
[field:name/]
[field:tel/]
[field:email/]
[field:content/]
<!-- 提交按钮 -->
<input type="submit" name="submit" value="提交" />
</form>
{/dede:myform}
</body>
</html>
代码解释:
{dede:myform name='lianxiwomen'}...{/dede:myform}:这是调用自定义表单的主标签,name的值必须和你在后台创建的“表单名称”完全一致。[field:name/]:这是字段调用标签,系统会自动根据你定义的字段,生成对应的HTML表单元素(<input>,<textarea>,<select>等)及其<label>提示文字,你不需要手动编写每个输入框。action="{dede:field.formurl/}":必须要有! 这个标签会自动生成表单提交的地址,指向织梦的处理程序。method="post":通常使用POST方法提交数据。enctype="multipart/form-data":如果你的表单包含“文件上传”类型的字段,则必须添加这个属性。
- 生成网页:
- 在后台的【栏目管理】或【自由列表】中,创建一个新的页面。
- 在“页面内容”部分,选择你刚刚创建的模板
lianxiwomen.htm。 - 生成这个页面,然后在前台访问它,就能看到你的表单了。
直接使用发布模板
如果你在创建表单时,已经填写好了“发布模板”,并且这个模板就是你要在前台展示的页面,那么你可以:
- 在后台的【自定义表单】列表中,找到你的表单。
- 点击该表单后面的 【HTML】 按钮。
- 系统会弹出一个窗口,显示该表单发布模板的完整代码。
- 你可以直接复制这些代码,粘贴到你网站的任何需要显示表单的HTML页面中。
注意:这种方法不如使用标签灵活,且容易因模板路径问题导致样式或JS失效。
如何查看和管理提交的数据
用户提交表单后,你可以在后台轻松查看和管理这些数据。
- 登录织梦后台。
- 进入 【核心】 -> 【自定义表单】。
- 在列表中,点击你想要查看的表单名称(如“联系我们表单”)。
- 你会进入该表单的数据列表页面,这里会显示所有用户提交的记录,包括你定义的每一个字段的内容。
管理功能:
- 查看:点击记录的标题或ID,可以查看详细信息。
- 删除:可以单条删除或批量删除记录。
- 搜索/筛选:可以对记录进行搜索和筛选,方便在海量数据中找到特定信息。
- 导出:部分版本或通过插件可以实现将数据导出为Excel表格的功能。
常见问题与高级技巧
问题1:为什么我的表单提交后,数据没有保存或跳转到404页面?
原因:action 属性的URL不正确。
解决:
- 确保使用了
{dede:field.formurl/}作为表单的提交地址。 - 检查你的网站是否开启了伪静态,如果开启了,请确保织梦的“自定义表单”规则已正确添加到伪静态规则中(通常是
/plus/diy.php)。 - 检查
/plus/diy.php文件是否存在且没有被误删。
问题2:如何为手机号字段添加自定义验证?
织梦默认的 tel 校验可能不够严格,我们可以通过修改JS文件来实现。
- 找到你的表单模板文件(如
lianxiwomen.htm)。 - 在
<head>标签内,引入一个自定义的JS文件,或者在<script>标签内直接编写JS代码。 - 在表单的
<form>标签上,添加一个onsubmit事件。
示例代码:
{dede:myform name='lianxiwomen'}
<form action="{dede:field.formurl/}" method="post" onsubmit="return checkForm()">
<!-- 你的表单字段... -->
[field:tel/]
<input type="submit" name="submit" value="提交" />
</form>
{/dede:myform}
<script>
function checkForm() {
// 获取手机号输入框的值
var tel = document.getElementById('tel').value; // 'tel' 是你手机号字段的 '字段名称'
// 定义手机号正则表达式
var reg = /^1[3-9]\d{9}$/;
if (!reg.test(tel)) {
alert('请输入正确的11位手机号码!');
return false; // 阻止表单提交
}
return true; // 验证通过,允许提交
}
</script>
注意:document.getElementById('tel') 中的 tel 必须和你后台设置的“字段名称”完全一致。
技巧1:美化表单样式
你可以在你的模板文件中使用CSS来美化表单。
<style>
.myform-box label {
display: block;
margin-bottom: 5px;
font-weight: bold;
}
.myform-box input[type="text"],
.myform-box textarea,
.myform-box select {
width: 300px;
padding: 8px;
border: 1px solid #ccc;
border-radius: 4px;
}
.myform-box textarea {
height: 100px;
resize: vertical;
}
.myform-box input[type="submit"] {
margin-top: 10px;
padding: 10px 20px;
background-color: #007bff;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
}
.myform-box input[type="submit"]:hover {
background-color: #0056b3;
}
</style>
{dede:myform name='lianxiwomen'}
<form class="myform-box" action="{dede:field.formurl/}" method="post">
<!-- 你的表单字段... -->
[field:name/]
[field:tel/]
[field:content/]
<input type="submit" name="submit" value="提交" />
</form>
{/dede:myform}
通过以上步骤,你就可以在织梦CMS中灵活地创建和使用功能强大的自定义表单了,多加练习,很快就能熟练掌握!
