第二十章 表单与留言

Ju7CMS 用户手册 · 发布于 2026-10-27 · 更新于 2026-10-27

表单是栏目的一种模型:三层数据、六个字段、验证码的三个条件、留言进后台之后去哪看,以及新做一张表单网页的步骤。

一张表单在哪里

Ju7CMS 的表单不是插件,而是「栏目的一种模型」。本站的「联系我们」栏目(classid=16)就是这种模型:前台地址仍是普通的 /list/?classid=16,只是模板换成了 model/list/LX1.html,页面本身不放表单;真正可填的表单在页脚弹出的咨询窗口里,是公共片段 foot1.html 的一部分。所以改表单样式会影响全站每一页,改表单字段则要进后台。

三层数据

层表本站现状
表单定义form一条:id=6、cid=16、表名 Contact、通知方式 SMS
字段定义form_field六个字段,都挂在 formid=16 下
提交数据form_Contact1按「表名 + 序号」生成,一行一条留言

这三层是一串的:表单定义决定写到哪张表,字段定义决定表里有哪些列、前台显示哪几行,数据表只负责存值。加一个字段就是给数据表加一列,删字段就是删列——所以删除字段属于高风险动作,见第十三章。

六个字段

次序字段名(列名)前台标签必填说明
1ju7_service服务项目否多选芯片,提交时用顿号拼成一串
2ju7_company公司名称否选填,用于判断业务类型
3ju7_xm姓名是前台 required,服务端也校验
4ju7_dh手机号码是带手机号规则与短信验证码(fsms=1)
5ju7_content留言内容是多行文本
6ju7_yusuan预算档位否下拉选择

前台提交的字段名必须与这里的列名一致。foot1.html 里另外带一个隐藏的 classid=16,服务端靠它找到这张表单;这格写错,表单会提交成功但后台收不到(曾经就因为写成了不存在的表单号而整张表从不入库)。

验证码要同时满足三个条件

「获取验证码」能不能用、提交时验不验码,取决于三件事同时成立,缺一个都会静默失效:

  1. 短信插件已安装(「功能 → 功能管理」里短信配置可打开);
  2. 插件配置里的「是否开启」为开启;
  3. 手机号字段在「字段管理」里勾了「开启验证码」(fsms=1)。

验证码用的模板ID 写在字段编辑页,不是短信配置页。验证码短信和通知短信是两套模板,变量名也不同:验证码模板必须走验证码通道,通知模板用留言内容作变量,混用会报「模板变量不匹配」。

留言进后台之后

提交成功的数据在这里看:内容 → 联系我们(表单栏目)→ 数据列表。列表能做三件事:勾选删除、标记已读、导出。

  • 通知:表单定义里可设通知方式与通知号码。本站是短信通知,号码为站点对外电话。
  • 导出:「功能 → 导出表单」按表单导出为表格文件,用于归档或交给销售。
  • 清理:删除只是删这一条,不进回收站,删前先导出。

做一张新的表单网页

  1. 新建栏目,页面类型选「表单模型」,模板选一个列表模板(本站用 LX1.html)。
  2. 「字段管理」里给这个表单加字段,字段名用英文、前台标签写中文。
  3. 在模板里放 form,字段 name 与后台字段名完全一致,再带一个隐藏的表单号。
  4. 提交地址交给 /comment/form/ 的处理程序,表单加 class="ju7_form" 以便脚本接管。
  5. 先提交一条测试,确认后台能看到;再开验证码与短信通知。

不要把表单直接放在多个页面各写一份。字段改名、加验证码、改提交地址时,散落的副本一定会漏。公共片段放一处,全站引用。

常见问题

现象先查什么
点提交没反应,页面不跳表单脚本没加载:检查页脚引用的 andvar.com.js 与 leadform.js 是否 404
提示验证码错误,但确实收到了三个条件是否都成立;验证码有效期约 15 分钟,超时需重发
点「获取验证码」没反应短信插件配置、手机号格式、模板ID 与签名是否正确
提交成功,后台没有记录隐藏的表单号写错,或数据表与表单定义对不上
后台有记录,但没收到短信通知方式是否为短信、通知号码是否为空、短信余额是否不足
导出表格缺列导出时只勾了部分字段;字段在后台被停用了

接下来怎么读

  1. 还没建过栏目:先看第十二章,再回来做表单。
  2. 要加字段或改字段类型:看第十三章,注意删列的风险。
  3. 短信通道本身发不出去:看第二十五章。