Can';无法使JavaScript表单验证正常工作
我的HTML表单设置有一个链接到它的外部JS文件:Can';无法使JavaScript表单验证正常工作,javascript,html,Javascript,Html,我的HTML表单设置有一个链接到它的外部JS文件: <script type="text/javascript" src ="../a1/js/formvalid.js"></script> 在下面输入您的详细信息 名字: 必填项:请输入您的名字 姓氏: 必填项:请输入您的姓氏 电邮: 必填项:请输入您的电子邮件 当表单无效时,您需要阻止表单提交。关于这一点,StackOverflow上有很多帖子。这里有一个: 概念是从vali
<script type="text/javascript" src ="../a1/js/formvalid.js"></script>
在下面输入您的详细信息
名字:
必填项:请输入您的名字
姓氏:
必填项:请输入您的姓氏
电邮:
必填项:请输入您的电子邮件
当表单无效时,您需要阻止表单提交。关于这一点,StackOverflow上有很多帖子。这里有一个:
概念是从validateForm()
函数返回false
,以防止提交。此外,应防止触发默认事件
函数验证窗体(事件){
event.preventDefault();
...
}
您必须对HTML和javascript代码进行一些更改。目前,我做了一些不同的代码,我想你喜欢这个东西。
在HTML代码中,您必须更改按钮单击事件
<div id="grid-container">
<h3>Enter your Details Below</h3>
<form id="registration_form" action="">
<div><label for="firstname">First Name: </label><input type="text" name = "firstname" id="firstname"></div>
<div class="error" id="firstnameError">Required: Please enter your first name</div><br>
<div><label for="lastname">Last Name: </label><input type="text" name = "lastname" id="lastname"></div>
<div class="error" id="lastnameError">Required: Please enter your Last name</div><br>
<div><label for="email">Email: </label><input type="text" name = "email" id="email"></div>
<div class="error" id="emailError">Required: Please enter your email</div>
<input type="button" value="Register" onClick="validateForm()"/>
</form>
</div>
它确实调用了
validateForm()
func-您的代码没有问题。您的代码运行良好-我已编辑您的问题并将其添加到可运行的代码段中,以便您可以查看。如果这不是你想要的,你到底想发生什么?另外,你确定JS文件被正确地包含了吗?这很奇怪,它在这里工作,但当我尝试在浏览器中运行它时却不工作。问题中的代码已经使用了return
,表单没有按照你的预期提交,而且工作正常,所以我认为preventDefault
不会添加任何内容。。。
document.getElementById("firstnameError"). style.display = "none";
document.getElementById("lastnameError"). style.display = "none";
document.getElementById("emailError"). style.display = "none";
function validateForm()
{
document.getElementById("firstnameError"). style.display = "none";
document.getElementById("lastnameError"). style.display = "none";
document.getElementById("emailError"). style.display = "none";
var firstname = document.getElementById("firstname").value;
var surname = document.getElementById("lastname").value;
var email = document.getElementById("email").value;
var flagValidate = true;
if (firstname == "")
{
document.getElementById("firstnameError"). style.display = "block";
document.getElementById("firstnameError"). style.color = "red";
flagValidate = false;
}
if (surname == "")
{
document.getElementById("lastnameError"). style.display = "block";
document.getElementById("lastnameError"). style.color = "red";
flagValidate = false;
}
if(email == "")
{
document.getElementById("emailError"). style.display = "block";
document.getElementById("emailError"). style.color = "red";
flagValidate = false;
}
if(flagValidate)
{
document.getElementById("registration_form").submit();
}
}