Contact ME!
本文详解如何在 formspree 仅支持基础字段(如 email、message)的限制下,使用前端 javascript 将用户填写的多个表单字段(姓名、邮箱、电话、消息)自动聚合并提交至 formspree 后端。
Formspree 默认仅将 和
以下为经过验证的可靠实现:
Contact ME!
注意关键修复点:
document.getElementById('firstForm').addEventListener('submit', function(e) {
e.preventDefault();
const emailInput = document.getElementById('email');
const nameInput = document.getElementById('name');
const phoneInput = document.getElementById('phoneno');
const messageInput = document.getElementById('message');
// 写入隐藏表单
document.getElementById('email1').value = emailInput.value;
const fullMessage = [
`Name: ${nameInput.value || 'Not provided'}`,
`Phone: ${phoneInput.value || 'Not provided'}`,
`Message:`,
messageInput.value
].join('\n');
document.getElementById('message1').value = fullMessage;
// 触发提交
document.getElementById('secondForm').submit();
});const btn = e.target.querySelector('button[type="submit"]');
btn.disabled = true;
btn.textContent = 'Sending...';该方案绕过 Formspree 的字段限制,无需后端代理,轻量、可靠、易于维护,是静态网站集成联系表单的最佳实践之一。