Javascript 即使我在字段中检测到错误,表单也会发布
在提交表单之前,我使用javascript验证表单。当我在字段上检测到错误时,表单仍会发布。如何防止出现错误时提交 这是我的表格:Javascript 即使我在字段中检测到错误,表单也会发布,javascript,html,form-post,Javascript,Html,Form Post,在提交表单之前,我使用javascript验证表单。当我在字段上检测到错误时,表单仍会发布。如何防止出现错误时提交 这是我的表格: <form onSubmit="return validateForm()" action="send.php" method="post" name="formulaire"> Prénom: <input type="text" name="prenom"><p id="valider_prenom">
<form onSubmit="return validateForm()" action="send.php" method="post" name="formulaire">
Prénom: <input type="text" name="prenom"><p id="valider_prenom"></p><br>
Nom: <input type="text" name="nom"><p id="valider_nom"></p><br>
Email: <input type="text" name="email"><p id="valider_email"></p><br>
Code postal: <input type="text" name="codepostal"><p id="valider_codepostal"></p><br>
<INPUT type="submit" value="Envoyer">
</form>
Here's my javascript function:
<script type="text/javascript">
function validateForm()
{
var prenom = document.forms["formulaire"]["prenom"].value;
var nom = document.forms["formulaire"]["nom"].value;
var email = document.forms["formulaire"]["email"].value;
var codepostal = document.forms["formulaire"]["codepostal"].value;
var erreur = false;
// Pour la validation du format de email
var atpos = email.indexOf("@");
var dotpos = email.lastIndexOf(".");
if (prenom == null || prenom == "")
{
document.getElementById('valider_prenom').innerHTML = '* Requis';
erreur = true;
}
if (nom == null || nom == "")
{
document.getElementById('valider_nom').innerHTML = '* Requis';
erreur = true;
}
if (email == null || email == "")
{
document.getElementById('valider_email').innerHTML = '* Requis';
erreur = true;
}
else if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= email.length)
{
document.getElementById('valider_email').innerHTML = '* Adresse incorrect';
erreur = true;
}
if (codepostal == null || codepostal == "")
{
document.getElementById('valider_codepotal').innerHTML = '* Requis';
erreur = true;
}
if (erreur){return false;}
}
</script>
名称:
名称:
电子邮件:
邮政编码:
下面是我的javascript函数:
函数validateForm()
{
var prenom=document.forms[“formulaire”][“prenom”].value;
var nom=document.forms[“formulaire”][“nom”].value;
var email=document.forms[“formulaire”][“email”].value;
var codepostal=document.forms[“formulaire”][“codepostal”].value;
var erreur=假;
//电子邮件格式验证
var atpos=email.indexOf(“@”);
var dotpos=email.lastIndexOf(“.”);
如果(prenom==null | | prenom==“”)
{
document.getElementById('valider_prenom')。innerHTML='*requires';
错误=正确;
}
if(nom==null | | nom==“”)
{
document.getElementById('valider_nom')。innerHTML='*requires';
错误=正确;
}
如果(email==null | | email==“”)
{
document.getElementById('valider_email')。innerHTML='*requires';
错误=正确;
}
else if(atpos<1 | | dotpos=email.length)
{
document.getElementById('valider_email')。innerHTML='*地址不正确';
错误=正确;
}
如果(codepostal==null | | codepostal==“”)
{
document.getElementById('valider_codepotal')。innerHTML='*requires';
错误=正确;
}
if(erreur){return false;}
}
如果将代码的最后一行替换为If(erreur==true){return false;}
它将验证您的表单。亲爱的Charley14,另一件事是您的代码工作正常。但是在validateForm()中,id“valider_codepotal”应该是“valider_codepostal”。我已经执行了你的代码。请从浏览器中清除缓存并重试。如果有任何问题,请告诉我。