网站放个装修预算估算器,换客户留电话
网站上只有一句「欢迎咨询」,客户看完价格心里没底,一个电话都不留就走了。
用什么ChatGPT
难不难要准备资料
第一次15 分钟
要准备你的起步价和几个常见加价项(大概的区间就行);收询价的邮箱和 WhatsApp 号码;能改你网站的人或网站后台
先看成品
喂给它的(示例:安心厨卫,虚构)
【我的价格,2026 年 9 月更新,全部含 GST,实际看现场】 - 基础:3 米一字型、平板柜门、20mm 陶瓷大板台面,A$18,000 起 - 每多 1 米柜子:加 A$3,000–3,500 - 改成 L 型:加 A$4,000–6,000 - 加岛台:加 A$6,000–8,000 - 柜门升级成 2pac 哑光烤漆:加 A$3,500–4,500 - 台面升级成岩板:加 A$2,500–3,500 - 水电要移位(水槽或灶台换位置):加 A$1,800–3,500 - 含拆旧和垃圾清运 - 不含电器、龙头(客户自选,或我们按原价代买) 【区间怎么算】 下限 = 基础价 + 每项的低数;上限 = 基础价 + 每项的高数,再加 10% 给现场可能发现的问题。 【我的联系方式】 邮箱 quote@anxin-example.com.au WhatsApp 0400 000 000 服务范围:Parramatta 为中心,西区、北区,包括 Ryde、Epping、Castle Hill;Penrith 以西、南边 Sutherland 一般不接。
AI 交出来的(用 Codex 真跑的原文,没改字,2026-10-18)
下面是单文件小工具,手机可用,客户最多选 5 项,价格集中在代码顶部。估算全部含 GST,上限按你的规则加 10%,填写资料只在当前页面使用。保存为 kitchen-estimator.html 上传网站即可,也可用 iframe 嵌入;邮箱和 WhatsApp 号码上线前请换成真实联系方式。
html
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- 修改价格只需改这里;金额为澳元,全部含 GST -->
<script>
const PRICES = {
base: 18000,
extraMetre: [3000, 3500],
lShape: [4000, 6000],
island: [6000, 8000],
doors2pac: [3500, 4500],
slabUpgrade: [2500, 3500],
relocation: [1800, 3500],
contingency: 0.10
};
const CONTACT = {
email: "quote@anxin-example.com.au",
whatsapp: "61400000000"
};
</script>
<title>安心厨卫|厨房翻新预算估算</title>
<style>
*{box-sizing:border-box}
body{
margin:0;background:#f3f5f2;color:#20332b;
font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif
}
main{
max-width:680px;margin:24px auto;padding:26px;
background:white;border-radius:20px
}
h1{font-size:27px;line-height:1.35;margin:8px 0 14px}
h2{font-size:21px;margin:0 0 16px}
p{margin:10px 0}
.brand{color:#496451;font-weight:700}
.intro,.small{color:#56645d}
.small{font-size:13px}
.field{margin:20px 0}
label{display:block;font-weight:650;margin-bottom:7px}
select,input,button,.button{
width:100%;min-height:48px;border-radius:10px;
font:inherit;padding:11px 12px
}
select,input{
border:1px solid #9aa99f;background:#fff;color:#20332b
}
input:focus,select:focus,button:focus-visible,a:focus-visible{
outline:3px solid #d49733;outline-offset:3px
}
.result{
margin:26px 0;padding:22px 18px;
background:#eaf3eb;border-radius:14px
}
.price{font-size:clamp(22px,5vw,31px);font-weight:800;line-height:1.45}
.inclusions{padding-left:20px}
form{border-top:1px solid #dde4de;padding-top:24px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
button,.button{
cursor:pointer;text-align:center;text-decoration:none;
border:1px solid #24583c;background:#24583c;color:white;
display:flex;align-items:center;justify-content:center;
font-weight:700
}
.button{background:white;color:#24583c}
.status{color:#9a3412;min-height:1.6em;font-size:14px}
footer{border-top:1px solid #dde4de;margin-top:24px;padding-top:16px}
@media(max-width:520px){
main{margin:0;border-radius:0;padding:22px 18px}
.grid,.actions{grid-template-columns:1fr}
}
</style>
</head>
<body>
<main>
<div class="brand">安心厨卫 · ANXIN</div>
<h1>厨房翻新预算估算<br>Kitchen Renovation</h1>
<p class="intro">选好下面 5 项,立即查看大概预算。基础方案为
3 米一字型、平板柜门及 20mm 陶瓷大板台面。</p>
<section aria-label="厨房方案">
<div class="field">
<label for="length">1. 柜子总长度 · Cabinet length</label>
<select id="length">
<option value="0">3 米或以内(按基础价)</option>
<option value="1">超过 3 米,至 4 米</option>
<option value="2">超过 4 米,至 5 米</option>
<option value="3">超过 5 米,至 6 米</option>
<option value="4">超过 6 米,至 7 米</option>
<option value="5">超过 7 米,至 8 米</option>
</select>
<p class="small">不足整米暂按整米计。岛台按下一项单独计费;
此处填写不含岛台的柜子总长度。超过 8 米请联系报价。</p>
</div>
<div class="field">
<label for="layout">2. 布局与岛台 · Layout & island</label>
<select id="layout">
<option value="straight">一字型,无岛台</option>
<option value="l">L 型,无岛台</option>
<option value="island">一字型 + 岛台</option>
<option value="l-island">L 型 + 岛台</option>
</select>
</div>
<div class="field">
<label for="doors">3. 柜门 · Cabinet doors</label>
<select id="doors">
<option value="standard">平板柜门(基础方案)</option>
<option value="upgrade">升级 2pac 哑光烤漆</option>
</select>
</div>
<div class="field">
<label for="bench">4. 台面 · Benchtop</label>
<select id="bench">
<option value="standard">20mm 陶瓷大板(基础方案)</option>
<option value="upgrade">升级岩板</option>
</select>
</div>
<div class="field">
<label for="services">5. 水电移位 · Plumbing & electrical</label>
<select id="services">
<option value="no">水槽及灶台位置不变</option>
<option value="yes">水槽或灶台需要换位置</option>
<option value="unsure">还不确定(先计入移位预算)</option>
</select>
</div>
</section>
<section class="result" aria-label="估算结果">
<div id="estimate" class="price" role="status" aria-live="polite"></div>
<p><strong>全部含 GST</strong> · 上限已加 10% 现场预留</p>
<p class="small">这是估算,以正式书面报价为准。</p>
</section>
<ul class="inclusions small">
<li>含拆旧和垃圾清运。</li>
<li>不含电器、龙头;可自行选购,或由安心厨卫按原价代买。</li>
<li>价格依据:2026 年 9 月,实际看现场。</li>
</ul>
<form id="contactForm">
<h2>想要准确报价?留下联系方式</h2>
<div class="grid">
<div class="field">
<label for="name">称呼</label>
<input id="name" name="name" autocomplete="name"
maxlength="60" required placeholder="怎么称呼您">
</div>
<div class="field">
<label for="phone">电话 · Phone</label>
<input id="phone" name="phone" type="tel" autocomplete="tel"
inputmode="tel" maxlength="25" required
pattern="[+0-9() .-]{8,25}" placeholder="您的联系电话"
title="请输入 8–25 位电话号码,可包含加号、空格或括号">
</div>
<div class="field">
<label for="postcode">邮编 · Postcode</label>
<input id="postcode" name="postcode" autocomplete="postal-code"
inputmode="numeric" pattern="[0-9]{4}" maxlength="4"
required placeholder="例如 2150" title="请输入 4 位澳洲邮编">
</div>
<div class="field">
<label for="start">想什么时候开始?</label>
<select id="start" name="start" required>
<option value="">请选择</option>
<option>尽快</option>
<option>1–3 个月内</option>
<option>3–6 个月内</option>
<option>6 个月以后</option>
<option>还在了解预算</option>
</select>
</div>
</div>
<div class="actions">
<button type="submit">把估算发给我们</button>
<a id="whatsapp" class="button" href="https://wa.me/61400000000">
WhatsApp 咨询
</a>
</div>
<p class="small">第一个按钮打开您自己的邮箱;WhatsApp 按钮打开聊天。
请在对应应用中确认发送。此页面不保存或上传您填写的资料,
刷新后需重新填写。</p>
<p id="status" class="status" role="status"></p>
</form>
<footer class="small">
服务范围:以 Parramatta 为中心,悉尼西区、北区,
包括 Ryde、Epping、Castle Hill。Penrith 以西及南边
Sutherland 一般不接,具体地址请联系确认。
</footer>
</main>
<script>
"use strict";
const $ = id => document.getElementById(id);
const choices = ["length", "layout", "doors", "bench", "services"];
const money = value => "A$" + value.toLocaleString("en-AU");
const form = $("contactForm");
function calculate() {
let low = PRICES.base;
let high = PRICES.base;
function add(range, count = 1) {
low += range[0] * count;
high += range[1] * count;
}
add(PRICES.extraMetre, Number($("length").value));
const layout = $("layout").value;
if (layout === "l" || layout === "l-island") add(PRICES.lShape);
if (layout === "island" || layout === "l-island") add(PRICES.island);
if ($("doors").value === "upgrade") add(PRICES.doors2pac);
if ($("bench").value === "upgrade") add(PRICES.slabUpgrade);
if ($("services").value !== "no") add(PRICES.relocation);
return {
low: Math.round(low),
high: Math.round(high * (1 + PRICES.contingency))
};
}
function rangeText() {
const result = calculate();
return 大概 ${money(result.low)} – ${money(result.high)};
}
function updateEstimate() {
$("estimate").textContent = rangeText();
$("status").textContent = "";
}
function selectedText(id) {
const select = $(id);
return select.options[select.selectedIndex].text;
}
function message() {
return [
"安心厨卫,您好!我想咨询厨房翻新。",
"",
称呼:${$("name").value.trim()},
电话:${$("phone").value.trim()},
邮编:${$("postcode").value.trim()},
希望开始时间:${$("start").value},
"",
"我的厨房方案:",
1. 柜子长度:${selectedText("length")},
" 长度不含岛台,不足整米暂按整米计。",
2. 布局与岛台:${selectedText("layout")},
3. 柜门:${selectedText("doors")},
4. 台面:${selectedText("bench")},
5. 水电移位:${selectedText("services")},
"",
rangeText(),
"全部含 GST;上限已加 10% 现场预留。",
"含拆旧和垃圾清运;不含电器、龙头。",
"价格依据:2026 年 9 月。",
"这是估算,以正式书面报价为准。",
"",
"请联系我安排准确报价,谢谢!"
].join("\n");
}
function valid() {
$("name").setCustomValidity(
$("name").value.trim() ? "" : "请填写称呼"
);
return form.reportValidity();
}
$("name").addEventListener("input", () => {
$("name").setCustomValidity("");
});
choices.forEach(id => {
$(id).addEventListener("change", updateEstimate);
});
form.addEventListener("submit", event => {
event.preventDefault();
if (!valid()) return;
const subject = "厨房翻新报价咨询|" + $("postcode").value;
const url = mailto:${CONTACT.email} +
?subject=${encodeURIComponent(subject)} +
&body=${encodeURIComponent(message())};
$("status").textContent =
"正在打开邮箱;如果没有打开,请先配置设备的默认邮件应用。邮件尚未自动发送。";
window.location.href = url;
});
$("whatsapp").addEventListener("click", event => {
event.preventDefault();
if (!valid()) return;
$("status").textContent = "正在打开 WhatsApp,请确认消息后发送。";
window.location.href =
https://wa.me/${CONTACT.whatsapp}?text=${encodeURIComponent(message())};
});
updateEstimate();
</script>
</body>
</html>
请核对:全部含 GST;无优惠,未扣折扣;基础 A$18,000 按算法固定计入。暂按保守口径:不足整米向上取整、水电不确定计移位、L 型加岛台两项叠加。请确认岛台是否还需计长度费,以及“陶瓷大板”和“岩板”具体如何区分。换一家公司、换一套更乱的材料,同一段话再跑一遍
这一步是为了确认这段话不只对示例管用。下面是 学优教育 的材料跑出来的原文。
喂给它的(学优教育,虚构)
方括号里填的:我是学优教育,悉尼 Epping 的 K-12 补习社,数学和英语,8 个老师;小工具:学费估算器;邮箱 enrol@xueyou-example.com.au;WhatsApp 0412 345 678 【我的价格,前台 Cindy 整理的,2026 年第四学期】 - 小班(最多 6 人,每节 90 分钟,一学期 10 节) - Year 3–6:每科 A$450 / 学期 - Year 7–10:每科 A$550 / 学期 - Year 11–12:每科 A$680 / 学期(Year 12 Ext 2 数学另加 A$100) - 一对一:A$85 / 小时,一学期最少买 5 小时 - 同一个孩子报两科:第二科九五折 - 第二个孩子:九折(Cindy 说兄弟姐妹优惠和两科优惠不能叠加,取高的那个;但官网上写的是可以叠加,我还没定) - 教材费:每科每学期 A$30(Year 11–12 不收) - 第一次试听免费 - 学费不收 GST(教育服务) - 学期中途插班的,按剩下的节数算
AI 交出来的(用 Codex 真跑的原文)
下面是单文件、手机适配的小工具,价格集中在代码开头的 PRICES,无需安装。
优惠冲突暂按较保守的“不叠加、取较高优惠”计算;确定配置的区间两端相同,不凭空添加浮动价格。
保存为 fees.html 上传网站即可访问,也可用 <iframe src="/fees.html" style="width:100%;height:1100px;border:0"></iframe> 嵌入现有页面。
html
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>学优教育|学费估算器</title>
<script>
/* ===== 所有价格集中在这里修改:金额均为澳元 A$ ===== */
const PRICES = {
termLessons: 10,
group: { primary: 450, junior: 550, senior: 680 },
ext2Extra: 100,
hourly: 85,
minimumHours: 5,
secondSubjectMultiplier: 0.95,
secondChildMultiplier: 0.90,
materialsPerSubject: 30,
trial: 0,
gst: 0
};
</script>
<style>
*{box-sizing:border-box}
body{margin:0;background:#f2f6fa;color:#152b42;
font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}
main{max-width:720px;margin:auto;padding:24px 16px 40px}
h1{font-size:27px;line-height:1.3;margin:8px 0}
h2{font-size:20px;margin:0 0 14px}
p{margin:8px 0}
.card{background:white;padding:22px;border-radius:18px;
margin-top:18px;box-shadow:0 4px 20px #17334d09}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font-weight:650}
select,input,button,.button{font:inherit;font-size:16px}
select,input{display:block;width:100%;margin-top:7px;padding:12px;
border:1px solid #a8b9c8;border-radius:9px;background:white;color:#152b42}
select:focus,input:focus,button:focus-visible,a:focus-visible{
outline:3px solid #ffbf47;outline-offset:3px}
.wide{grid-column:1/-1}
small,.muted{color:#526577;font-size:13px;font-weight:400}
.price{font-size:clamp(24px,5vw,36px);font-weight:800;color:#075f65}
.result{background:#eaf7f4;border:1px solid #b9ded2}
breakdown{padding-left:22px;font-size:14px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
button,.button{display:inline-flex;align-items:center;justify-content:center;
padding:13px 18px;border:0;border-radius:10px;background:#075f65;
color:white;font-weight:700;text-decoration:none;cursor:pointer;min-height:48px}
.secondary{background:#e8f4ed;color:#125d37}
error{color:#a32620;font-weight:650}
[hidden]{display:none!important}
@media(max-width:520px){
.grid{grid-template-columns:1fr}
.card{padding:18px}
.actions>*{width:100%}
}
</style>
</head>
<body>
<main>
<header>
<p class="muted">悉尼 Epping · K–12 · 数学 Maths / 英语 English</p>
<h1>学优教育|学费估算器</h1>
<p>2026 年第四学期 · Term 4</p>
<p class="muted">最多选 5 项,马上看本学期估算。首次试听免费。</p>
</header>
<section class="card" aria-labelledby="chooseTitle">
<h2 id="chooseTitle">选择课程</h2>
<div class="grid">
<label>1. 课程形式 · Format
<select id="mode">
<option value="group">小班 Small group · 最多 6 人</option>
<option value="private">一对一 1-to-1</option>
</select>
</label>
<label>2. 年级 · Year
<select id="year">
<option value="primary">Year 3–6</option>
<option value="junior">Year 7–10</option>
<option value="senior">Year 11–12</option>
<option value="ext2">Year 12 · Ext 2 数学</option>
<option value="early">Kindergarten–Year 2(仅一对一)</option>
</select>
</label>
<label>3. 科目 · Subjects
<select id="subjects">
<option value="maths">数学 Maths</option>
<option value="english">英语 English</option>
<option value="both">数学 + 英语 Maths + English</option>
</select>
</label>
<label>4. 孩子人数 · Children
<select id="children">
<option value="1">1 个孩子</option>
<option value="2">2 个孩子(相同课程配置)</option>
</select>
</label>
<label class="wide">
<span id="quantityLabel">5. 本学期剩余节数 · Lessons</span>
<select id="quantity"></select>
</label>
</div>
<p id="courseNote" class="muted"></p>
<p class="muted">
两个孩子按相同年级档、科目及节数/课时估算。
不同配置请分别估算,并联系前台确认家庭报价。
</p>
<p id="error" role="alert" hidden></p>
</section>
<section class="card result" aria-labelledby="resultTitle">
<h2 id="resultTitle">本学期估算 · Estimate</h2>
<div id="result" aria-live="polite" aria-atomic="true"></div>
<ul id="breakdown"></ul>
<p class="muted">这是估算,以正式书面报价为准。</p>
<p class="muted">按提供的收费规则:学费不收 GST;教材费税务口径待确认,未另加税额。</p>
</section>
<section class="card" aria-labelledby="contactTitle">
<h2 id="contactTitle">获取准确报价 · Request a quote</h2>
<form id="contact">
<div class="grid">
<label>称呼 · Name
<input id="name" name="name" autocomplete="name" maxlength="80" required>
</label>
<label>电话 · Phone
<input id="phone" name="phone" type="tel" autocomplete="tel"
inputmode="tel" maxlength="30" required>
</label>
<label>邮编 · Postcode
<input id="postcode" name="postcode" autocomplete="postal-code"
inputmode="numeric" pattern="[0-9]{4}" maxlength="4"
title="请输入四位澳大利亚邮编" required>
</label>
<label>想什么时候开始 · Start
<input id="start" name="start" placeholder="例如:下周 / 下学期"
maxlength="100" required>
</label>
</div>
<div class="actions">
<button type="submit">把估算发给我们</button>
<button type="button" id="whatsapp" class="secondary">WhatsApp 联系</button>
</div>
<p id="status" class="muted" role="status"></p>
<p class="muted">
邮件按钮打开您自己的邮箱;WhatsApp 按钮打开 WhatsApp。
请在对应应用内确认发送。填写内容不会保存或上传到本站服务器;
发送后由您选用的邮件或 WhatsApp 服务处理。
</p>
</form>
</section>
</main>
<script>
"use strict";
const $ = id => document.getElementById(id);
const money = value => "A$" + value.toLocaleString("en-AU", {
minimumFractionDigits: 2, maximumFractionDigits: 2
});
let estimate = null;
function refreshOptions() {
const privateMode = $("mode").value === "private";
const both = $("subjects").querySelector('[value="both"]');
both.disabled = privateMode;
if (privateMode && $("subjects").value === "both") {
$("subjects").value = "maths";
}
$("quantityLabel").textContent = privateMode
? "5. 每个孩子本学期总课时 · Hours"
: "5. 本学期剩余节数 · Lessons";
$("quantity").replaceChildren();
if (privateMode) {
// 最多展示 40 小时只是界面选项,并非额外收费规则。
for (let n = PRICES.minimumHours; n <= 40; n++) {
$("quantity").add(new Option(n + " 小时", n));
}
} else {
for (let n = 1; n <= PRICES.termLessons; n++) {
$("quantity").add(new Option(n + " 节", n));
}
$("quantity").value = String(PRICES.termLessons);
}
$("courseNote").textContent = privateMode
? "一对一每学期至少购买 " + PRICES.minimumHours +
" 小时。本工具一次估算一科;两科课时安排请联系前台。"
: "小班每节 90 分钟,一学期 " + PRICES.termLessons +
" 节;插班学费按剩余节数比例计算。";
}
function calculate() {
const mode = $("mode").value;
const year = $("year").value;
const subject = $("subjects").value;
const count = Number($("children").value);
const quantity = Number($("quantity").value);
const group = mode === "group";
const senior = year === "senior" || year === "ext2";
const subjects = subject === "both" ? ["maths", "english"] : [subject];
let problem = "";
if (group && year === "early") {
problem = "尚未提供 K–Year 2 的小班价格,请选择一对一。";
}
if (year === "ext2" && subject === "english") {
problem = "Ext 2 是数学课程;英语请选择 Year 11–12。";
}
$("error").hidden = !problem;
$("error").textContent = problem;
$("breakdown").replaceChildren();
estimate = null;
if (problem) {
$("result").textContent = "请选择有效课程配置";
return;
}
const base = group
? PRICES.group[senior ? "senior" : year] *
quantity / PRICES.termLessons
: PRICES.hourly * quantity;
const amounts = subjects.map(s => base +
(group && year === "ext2" && s === "maths"
? PRICES.ext2Extra * quantity / PRICES.termLessons : 0));
// 两科无先后顺序:保守地把较低价科目作为第二科。
// 第二个孩子每科九折;不与第二科九五折叠加。
const secondIndex = amounts.length === 2
? (amounts[0] < amounts[1] ? 0 : 1) : -1;
let tuition = 0;
const details = [];
for (let child = 0; child < count; child++) {
let childTuition = 0;
amounts.forEach((amount, index) => {
const subjectRate = index === secondIndex
? PRICES.secondSubjectMultiplier : 1;
const siblingRate = child === 1
? PRICES.secondChildMultiplier : 1;
childTuition += amount * Math.min(subjectRate, siblingRate);
});
childTuition = Math.round(childTuition * 100) / 100;
tuition += childTuition;
details.push("孩子 " + (child + 1) + " 学费:" + money(childTuition));
}
// 教材费按每科每学期收取,不随插班节数折算,不参与学费优惠。
const materials = senior ? 0
: PRICES.materialsPerSubject * subjects.length * count;
const total = Math.round((tuition + materials) * 100) / 100;
details.push("教材费:" + money(materials));
details.push("首次试听:" + money(PRICES.trial));
details.push("优惠:第二科九五折;第二个孩子九折,不叠加,取较高优惠。");
const price = document.createElement("div");
price.className = "price";
price.textContent = "大概 " + money(total) + " – " + money(total);
const note = document.createElement("p");
note.className = "muted";
note.textContent = "当前配置金额固定,因此区间上下限相同;已计入教材费。";
$("result").replaceChildren(price, note);
details.forEach(detail => {
const li = document.createElement("li");
li.textContent = detail;
$("breakdown").append(li);
});
estimate = {
total,
details,
choices: [
"课程:" + $("mode").selectedOptions[0].textContent,
"年级:" + $("year").selectedOptions[0].textContent,
"科目:" + $("subjects").selectedOptions[0].textContent,
"孩子人数:" + count + "(相同配置)",
(group ? "每科剩余节数:" : "每个孩子总课时:") + quantity
]
};
}
function makeMessage() {
calculate();
if (!estimate) {
$("error").focus();
return null;
}
const form = $("contact");
for (const id of ["name", "phone", "postcode", "start"]) {
const input = $(id);
input.setCustomValidity(input.value.trim() ? "" : "请填写此项");
}
if (!form.reportValidity()) return null;
return [
"学优教育学费咨询|2026 年第四学期",
"",
...estimate.choices,
"大概 " + money(estimate.total) + " – " + money(estimate.total),
...estimate.details,
"学费不收 GST;教材费税务口径待确认,未另加税额。",
"这是估算,以正式书面报价为准。",
"",
"称呼:" + $("name").value.trim(),
"电话:" + $("phone").value.trim(),
"邮编:" + $("postcode").value.trim(),
"想什么时候开始:" + $("start").value.trim()
].join("\n");
}
$("contact").addEventListener("input", event => {
if (event.target.setCustomValidity) event.target.setCustomValidity("");
});
$("contact").addEventListener("submit", event => {
event.preventDefault();
const message = makeMessage();
if (!message) return;
const url = "mailto:enrol@xueyou-example.com.au?subject=" +
encodeURIComponent("学优教育|学费估算及准确报价咨询") +
"&body=" + encodeURIComponent(message);
window.location.href = url;
$("status").textContent =
"已请求打开邮箱,请在邮件应用中确认发送;若未打开,请检查设备默认邮箱设置。";
});
$("whatsapp").addEventListener("click", () => {
const message = makeMessage();
if (!message) return;
window.open("https://wa.me/61412345678?text=" +
encodeURIComponent(message), "_blank", "noopener,noreferrer");
$("status").textContent =
"已请求打开 WhatsApp,请在应用内确认发送。";
});
$("mode").addEventListener("change", () => {
refreshOptions();
calculate();
});
["year", "subjects", "children", "quantity"].forEach(id => {
$(id).addEventListener("change", calculate);
});
refreshOptions();
calculate();
</script>
</body>
</html>
请核对:①兄弟姐妹优惠暂不叠加,是否最终采用?②学费按您提供的“不收 GST”显示;教材费 A$30 是否已含应付税额?③教材费暂按整学期、不打折,一对一也收;是否正确?④Ext 2 加价暂随剩余节数折算,并参与学费优惠;两科价格不同时,暂将较低价科目作为第二科,是否正确?复制这段话给 AI
我是[你做什么、在哪]。想在网站上放一个[估算器名称,比如厨房翻新预算估算器]:客户自己点几下,马上看到大概价格区间,想要准确报价就留电话。我的……
方括号 [ ] 里的换成你自己的。手机上直接说也行:打开 ChatGPT,按住麦克风念给它。
三步做完
- 打开 ChatGPT,粘贴这段话,把方括号换成你的,价格贴在后面
- 把它给的代码存成一个 .html 文件,双击用浏览器打开,自己点几遍、用手机也试一遍
- 核一遍价格:随便选几项,心算一下区间对不对
- 让管网站的人把它放进网站(大多数建站后台都有「嵌入 HTML」的地方),上线后自己从手机发一次估算到自己邮箱试试
交出来以后,看这几处
最后一步:换成你自己的
示例跑通了,就把方括号里的换成你自己的真东西(你的起步价和几个常见加价项(大概的区间就行);收询价的邮箱和 WhatsApp 号码;能改你网站的人或网站后台),再跑一次。哪里不对,直接跟它说「这里不对,应该是……」,它会改。改到满意,把这段话存进手机备忘录,下次直接用。
注意估算器只给区间,不是报价,最后价格以上门量尺后的书面报价为准。放上网站要能登录你的网站后台,自己不会弄就交给帮你做网站的人。客户留的电话只用来回他的询价,别拿去群发广告。
题目灵感:The Rundown AI · Build Interactive Lead Magnets With Canva Code、The Rundown AI · How To Build a Lead Magnet Tool for Your Website With Replit。提示词和成品是我们自己写、自己跑的。