首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >询价表单放几个字段才既能收到提交、又够报价?

询价表单放几个字段才既能收到提交、又够报价?

原创
作者头像
用户10345225
发布于 2026-11-01 21:46:11
发布于 2026-11-01 21:46:11
1540
举报

询价表单一般是这么长出来的:销售说要问数量,运营说要问预算,老板说要问公司名,两年下来变成十一项必填。结果提交变少了,内容也没好到哪去——邮箱是真的,数量和公司名是随手填的。

字段数的答案不在「几个」上,在「哪些字段会改变你下一封邮件」上。下面给一张能按行业直接套的表,再把每个字段单独过一遍。

一个字段留不留,看它会不会改变你下一封邮件

拿一个字段问自己:买家填 A 和填 B,我回他的第一封邮件会不一样吗?

会。比如型号不同,报价单完全不同,那它就该必填。不会。比如他填不填公司名,你的回信都是「这个型号 100 件的价格是……请确认交期」,那它就选填或者删掉。

这条判据能砍掉大部分表单里的装饰性字段。它也能解释为什么「姓名」在 B2B 询价表单里没什么用:你回信开头写「Hi」就够了。

按产品复杂度选:一张能直接套的表

你卖的东西

必填

选填

可以不问

标准品,型号在页面上能定位

邮箱、型号(页面带进来,可改)、数量、收货国家/地区

公司、电话、期望交期

预算、长段描述

定制件,按图或按样品加工

邮箱、用途或工况一句话、图纸附件

数量、公司、电话

预算

整机、项目型,要选配置

邮箱、应用场景、项目所在地

预算区间、希望到货时间

公司规模、职位

样品、小批量试单

邮箱、数量、收货国家

型号、公司

电话、预算

本地服务(安装、维修、上门)

手机号或邮箱(二选一)、地址或邮编、要做的事

期望时间

公司名、数量

左边一列找不到自己,就退回上面那条判据,别硬套。

邮箱、电话、公司名:必填会逼人填假数据

邮箱是唯一值得无条件必填的字段,它是你唯一能主动触达的通道。输入框写 type="email"、autocomplete="email"、inputmode="email",手机上会直接弹对键盘。

电话只有在成交路径一定要打电话时才必填:本地上门服务、大件物流、时差大到邮件来回要一天的市场。其他情况选填,旁边写一句为什么需要(「交期紧的时候我们会直接打给你」),愿意留的人反而多。

公司名在首轮必填有两个副作用:用个人邮箱的小买家会被挡在门外;另一批人会随手填一个看着像样的词,你的客户表里从此多了一堆假公司。选填,等他回第二封邮件再问。

姓名可以删。真要称呼,用一个「怎么称呼你」的选填框,比「姓」「名」两个必填框友好。

数量和预算:改成区间和下拉

数量必填的前提是价格随数量变。如果 1 件和 1000 件一个价,问它只是给自己添活。数量旁边给单位下拉(件、箱、托、米、公斤),别让买家猜你按什么算。

预算在首轮基本问不到真话,而且容易让人直接关页面。改成「期望价位段」下拉,选项里留一个还没定:

代码语言:html
复制
<label for="budget">期望价位段</label>
<select id="budget" name="budget">
  <option value="">不便透露</option>
  <option value="lt-1k">1k 以内</option>
  <option value="1k-5k">1k - 5k</option>
  <option value="5k-20k">5k - 20k</option>
  <option value="gt-20k">20k 以上</option>
  <option value="tbd">还没定,想先听建议</option>
</select>

区间比精确数字好用:他愿意点一下,你也能据此决定要不要推高配方案。

国家/地区在运费、电压、认证、插头标准跟地区挂钩时必须问,并且用下拉,不要给文本框——USA、US、America 在三张表里是三个国家。

详细描述放最后一个,选填。提示语要具体:「写清型号、用在什么设备上、目标价和交期,我们回得更准」,比一句「请输入您的问题」有用得多。

产品页带进来的型号,要让买家能改

从产品页点「询价」进到表单,型号自动填上是转化效果最好的一步。但带进来的值必须是可编辑的输入框,不能是隐藏字段——买家往往想问的是同系列另一个型号。

代码语言:html
复制
<label for="model">要询价的型号</label>
<input id="model" name="model" type="text" maxlength="64" autocomplete="off">
<input type="hidden" name="model_source" value="manual">

<script>
  const params = new URLSearchParams(location.search);
  const fromUrl = (params.get('model') || '').slice(0, 64);
  if (fromUrl) {
    document.getElementById('model').value = fromUrl;
    document.querySelector('input[name="model_source"]').value = 'product-page';
  }
</script>

服务端把 model 当普通用户输入处理:长度截断、字符白名单、不接受 HTML。同时把 model_source 一起存下来,报价时你就知道这个型号是页面带进来的原样值,还是买家改过的。

分步表单和条件字段:代价在哪

字段超过八到十个、又确实都要问,再考虑分步。第一步只放邮箱加一个选择题(要报价、要样品、还是要技术支持),第二步再问细节。

分步的代价是把弃填从第一步挪到了第二步。所以每一步都要单独埋点:第一步展示数、第一步提交数、第二步提交数。只看总提交量,你分不清是第一步太长还是第二步太长。

条件字段的坑更具体:被隐藏的必填字段,浏览器还会校验它。表现是买家什么都没看到,点提交却提示「请填写期望交期」。

代码语言:html
复制
<div id="lead-time-wrap" hidden>
  <label for="lead_time">期望交期</label>
  <input id="lead_time" name="lead_time" type="text" disabled>
</div>
代码语言:js
复制
const qty = document.getElementById('qty');
const wrap = document.getElementById('lead-time-wrap');
const leadTime = document.getElementById('lead_time');

qty.addEventListener('change', () => {
  const show = Number(qty.value) >= 1000;
  wrap.hidden = !show;
  leadTime.disabled = !show;   // disabled 的字段既不参与校验也不提交
});

服务端还要按可见逻辑再校验一遍,别信前端传来的空值就是没填。买家绕过 JS 直接 POST 的情况一直存在。

移动端和无障碍上顺手能做的:

  • 单列布局,label 放在输入框上方。别用 placeholder 当 label,输入两个字提示就没了。
  • 提交后把焦点移到第一个出错的字段;错误提示用 aria-describedby 跟输入框关联,不要只把边框变红。
  • 提交失败时保留已填内容。刷新一次就清空,是最容易让人放弃的一步。

附件怎么收才安全

图纸、照片、样品清单这类附件,收得方便和存得安全是两件事。

代码语言:php
复制
$finfo = new finfo(FILEINFO_MIME_TYPE);
$mime  = $finfo->file($_FILES['drawing']['tmp_name']);

$allowed = [
    'application/pdf' => 'pdf',
    'image/jpeg'      => 'jpg',
    'image/png'       => 'png',
];

if (!isset($allowed[$mime])) {
    // 拒绝,并记一条日志
}

必须做的几件事:

  • 白名单后缀,服务端按文件内容判断 MIME,不信浏览器发来的 Content-Type,也不只看扩展名。
  • 存到 Web 根目录之外,文件名换成随机串加白名单后缀。原始文件名只存数据库,用于展示。
  • 限制单个文件大小和单次提交的文件个数,客户端和服务端都拦一次。
  • 下载走鉴权脚本,不要给出一个能直接访问的 URL。
  • 后续把图纸发给工厂或同事时,用一次性、有有效期的链接,别把图纸直接塞进邮件附件里传来传去。

免费邮箱和疑似同行:打分,别硬拦

用免费邮箱域名直接拒收,会挡掉一批真实的个体买家和小贸易商——他们就是这个行业的常态。同行询盘也一样,靠域名黑名单识别不出来,误伤的代价更大。

改成打分进待审队列,规则可以是:

  • 免费邮箱域名 +1
  • 描述少于 20 个字符 +1
  • 描述里含链接或明显广告词 +1
  • 页面加载到提交不足 3 秒 +1
  • 蜜罐字段被填 +3

分数过了阈值就进待审,人工看一眼再决定回不回。正常买家在人工审核期间照样收到自动回执。

蜜罐字段的做法:

代码语言:html
复制
<div class="hp" aria-hidden="true">
  <label for="website">Website</label>
  <input id="website" name="website" type="text" tabindex="-1" autocomplete="off">
</div>

<style>
  .hp { position: absolute; left: -9999px; }
</style>

用 CSS 挪出视口而不是 display:none——一部分机器人会跳过 display:none 的字段。另外在页面里记一个加载时间戳随表单一起提交,服务端算一下耗时。

上线前问自己这几句

  • 每个必填字段:填 A 和填 B,我下一封邮件会不一样吗?不会就删。
  • 手机弱网下,从点进来到提交成功要多久?
  • 提交失败一次,填过的内容还在不在?
  • 程序出错(比如发信失败)时,有没有一个兜底收件箱还能收到这条询盘?
  • 数据存在哪、谁能看、留多久?
  • 收到之后多久有人回?这一项对成交的影响,比表单上少两个字段大得多。

字段数量本身不是目标。能让销售在第一封邮件里把价格和交期说清楚,同时让买家不用填一堆他自己也不知道答案的框,找到这个点就够了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一个字段留不留,看它会不会改变你下一封邮件
  • 按产品复杂度选:一张能直接套的表
  • 邮箱、电话、公司名:必填会逼人填假数据
  • 数量和预算:改成区间和下拉
  • 产品页带进来的型号,要让买家能改
  • 分步表单和条件字段:代价在哪
  • 附件怎么收才安全
  • 免费邮箱和疑似同行:打分,别硬拦
  • 上线前问自己这几句
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档