在表单提交前检查字段取消订阅状态,最直接的办法是在 submit 事件中拦截默认行为。通过 event.preventdefault() 阻止表单发送,并读取输入框的 value 属性判断内容是否为空或特定标记,若检测到未订阅则显示错误提示。

如何获取输入框的值并验证
要获取用户输入的内容,需要访问 DOM 元素。使用 document.getElementById 定位到具体的 input 标签,然后读取其 .value 属性。如果该属性为空字符串,说明用户没有填写信息,即处于“未订阅”或未激活状态。

如何根据验证结果改变 UI 反馈
当发现字段为空时,除了弹窗,还可以直接修改 DOM 样式来提供即时反馈。可以在 submit 事件处理函数中,给输入框添加一个特定的 CSS 类(如 error),或者清空输入框内容,从而直观地告诉用户当前状态无效。

<style>
.error { border: 2px solid red; background-color: #ffe6e6; }
</style><script>
// ... 前面的代码 ...
form.addEventListener('submit', function(event) {
const val = emailInput.value.trim();
if (val === '') {
event.preventDefault();
emailInput.classList.add('error');
emailInput.focus();
} else {
emailInput.classList.remove('error');
}
});
</script>
基于 input 值长度不足的具体问题
如果程序要求订阅邮箱必须包含 @ 符号,那么仅判断空值是不够的。在 submit 事件中,可以使用 .includes('@') 方法检查 value 是否包含该字符。如果不包含,同样调用 preventDefault() 并给出提示,确保只有格式正确的数据才会被提交。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











