JavaScript表单验证规则:提交时alert弹窗不显示问题求助
表单提交时Alert弹窗不显示的解决方案
你的代码里存在一个大小写拼写错误,导致验证逻辑根本没正确执行:
- JavaScript中获取元素的方法是
document.getElementById(),你写成了document.getElementByid()(Id的第二个字母d应该大写)。这个错误会导致无法获取到fname输入框,变量x的值为undefined,x.length的判断不会触发alert逻辑。
修正后的JavaScript代码:
function validateform() { var x = document.getElementById("fname").value; if (x.length < 1) { alert("Name can't be blank"); return false; } }
额外补充:因为你给输入框加了required属性,浏览器会先触发原生必填验证,可能会在自定义alert之前弹出原生提示。如果想优先执行自定义验证,可以去掉required属性(你已说明问题与setCustomValidity无关,此为可选调整)。
内容的提问来源于stack exchange,提问作者Ash
相关产品推荐
相关产品推荐

