javascript - onsubmit 表单验证。即使有错误也提交表单
问题描述
我创建了一个注册页面,每个字段都需要输入和验证。如果字段为空,我使用 onsubmit 事件调用我的 js 函数来验证表单,但是即使没有正确验证它仍然会提交。
function validate() {
var streetName = document.getElementById("sN").value;
if (streetName == "" || streetName == null || streetName == undefined) {
window.alert("Sorry");
return false;
}
}
<form name="myForms" action="https://httpbin.org/post " method="post" class="form" onsubmit="return validate()">
<div id="fN">
<label>First Name</label>
<input type="text" name="firstName" placeholder="Enter first name" required>
</div>
<br>
<div class="lN">
<label>Last Name</label>
<input type="text" name="lastName" placeholder="Enter last name" required="">
</div>
<br>
<div class="sN">
<label>Street name</label>
<input type="text" name="streetname" placeholder="Enter your street name">
</div>
// Somemore inputs
<input class="buttons" type="submit" name="submit" value="Sign up" onclick="validate()">
</form>
我希望会弹出一个窗口说“这个条目是错误的,因此”,但它仍然提交
编辑:我很抱歉我应该在我的帖子中更清楚。我将在一些输入中使用 required,但是我最终需要编写 js 代码来确保电话号码是全数字,密码 = passwordconfirm 并且邮政编码是实际的邮政编码。在 JS 文件中,我只是展示了我基本上尝试过的操作。
解决方案
var streetName = document.getElementById("sN").value;
文档中没有那个元素id
。
有一个元素sN
以其类名,但getElementById
不会通过其类找到一个元素,并且value
of<div class="sN">
将始终是undefined
。它将input
具有价值。
推荐阅读
- c - 查找具有一定步数/计数的最小起始值的数字
- tensorflow - 我可以用张量流优化损失中的指定参数吗?
- python - 如何用不同维度的数组填充 3D 矩阵?
- usb - 报告控制转移的状态结果
- java - 如何在Java中定义矩阵中的元素,每下一行元素增加某个值?
- ios - Swift:使用编程大小的 UIView 制作垂直滚动提要
- openssl - 如何使 PKCS12 (PKCS#12) 在 .p12 容器中包含多个私钥?
- docker - Docker swarm:负载均衡器不会循环执行所有任务
- javascript - 收集多个输入文件以附加到 FormData
- c++ - 使用数学地板找到平均值