JS与PHP单选按钮故障:添加domain后表单邮件无法发送
问题排查:添加domain单选按钮后表单无法发送邮件
我一眼就看到了JavaScript代码里的语法错误,这应该是导致表单停止工作的核心原因!
看你的JS代码:
document.getElementById('status').innerHTML = "Sending..."; formData = { 'transfer' : $('input:radio[name=transfer]:checked').val() 'domain' : $('input:radio[name=domain]:checked').val() };
在transfer属性的结尾缺少了逗号,JavaScript对象的多个属性之间必须用逗号分隔。这个语法错误会直接导致JS代码执行失败,表单自然没法提交数据到后端,邮件也就发不出去了。
修正后的JS代码应该是这样:
document.getElementById('status').innerHTML = "Sending..."; formData = { 'transfer' : $('input:radio[name=transfer]:checked').val(), 'domain' : $('input:radio[name=domain]:checked').val() };
除此之外,还可以检查以下几个点确保万无一失:
- 给PHP变量添加上默认值,避免未定义变量影响邮件发送逻辑:
$transfer = isset($_POST['transfer']) ? $_POST['transfer'] : ''; $domain = isset($_POST['domain']) ? $_POST['domain'] : ''; - 打开浏览器开发者工具(F12)的Console标签,查看是否有其他JS报错信息
- 临时开启PHP错误提示,检查后端脚本是否有隐藏错误:
error_reporting(E_ALL); ini_set('display_errors', 1);
先把JS的逗号加上,应该就能解决表单无法发送的问题了!
内容的提问来源于stack exchange,提问作者Devil tv
相关产品推荐
相关产品推荐

