You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript+PHP提交表单时select选项值为空问题排查

解决表单select字段提交后邮件显示为空的问题

我仔细看了你的代码,发现问题出在JavaScript获取下拉选项值的方式上——这就是为什么邮件里Service Type是空的,其他字段却正常的原因。

错误所在

在contact_me.js里,你是这样获取服务类型值的:

var service = $("option#service").val();

这个选择器option#service是在找id为service的option标签,但你的HTML里只有<select>标签的id是service,所有<option>都没有这个id,所以这行代码根本拿不到选中的值,传递给PHP的service自然是空的。

修复方法

把这行代码改成直接通过select的id来获取值就可以了,jQuery的val()方法对select元素会自动返回选中选项的value:

var service = $("#service").val();

额外建议(可选)

另外,你PHP里的空字段检查没包含service,如果想确保这个字段必须被提交,可以把empty($_POST['service'])加入到判断条件里:

if(empty($_POST['name']) || empty($_POST['email']) || empty($_POST['phone']) || empty($_POST['service']) || empty($_POST['message']) || !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)) {
    echo "No arguments Provided!";
    return false;
}

这样修改后,再提交表单,邮件里的Service Type就会正常显示用户选中的选项啦。

内容的提问来源于stack exchange,提问作者mrmegatheman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 11:07:34