当我将php表单验证代码与javascript验证代码结合使用时,当我按下“提交”按钮时,javascript代码无法正常工作。它将只验证第一个表单字段,而不验证其他三个字段,然后php将验证所有字段。在JavaScript完成表单验证之前,我不希望php表单验证执行任何操作。
当我仅使用php或仅使用javascript进行验证时,代码即可正常工作。我在这里想念什么?与表格开头有关吗?
"form name="contactform" id="contactform" method="post"
action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"
onsubmit="return validateentry();">"
我应该在“操作”转到另一个网页时进行php表单验证吗?
javascript代码:
function validateemail()
{
var emailentry=document.forms.contactform.email.value;
at=emailentry.indexOf("@");
period=emailentry.lastIndexOf(".");
if(at < 1 || ( period - at < 2 ))
{
alert("Please enter correct email in the format of '[email protected]'")
document.forms.contactform.email.focus();
return false;
}
return(true);
}
function validatephonenumber()
{
var re = /(?:\d{3}|\(\d{3}\))([-\/\.])\d{3}\1\d{4}/;
var numbers = document.forms.contactform.phone.value;
var verified = re.exec(numbers);
if (!verified)
{
alert("Please enter a phone number in the format of 999-999-9999");
return false;
}
return(true);
}
function validateentry()
{
if(document.forms.contactform.name.value=="")
{
alert("Please provide your name.");
document.forms.contactform.name.focus();
return false;
}
if(document.forms.contactform.company.value=="")
{
alert("Please provide your company name. If you don't have one, simply state
that you don't.");
document.forms.contactform.company.focus();
return false;
}
if(document.forms.contactform.email.value == "")
{
alert("Please provide an Email address.");
document.forms.contactform.email.focus();
return false;
}else{
var validformat=validateemail();
if(validformat==false)
{
return false;
}}
if(document.forms.contactform.phone.value=="")
{
alert("Please provide a phone number in the format 999-999-9999.");
document.forms.contactform.phone.focus();
return false;
}
else if(document.forms.contactform.phone.value.length < 12)
{
alert("Please provide the phone number in the format of 999-999-9999.");
document.forms.contactform.phone.focus();
return false;
}
else
{
var validnumber=validatephonenumber();
if(validnumber==false)
{
return false;
}}
if(document.forms.contactform.msg.value=="")
{
alert("Please provide a message.");
document.forms.contactform.msg.focus();
return false;
}
return(true);
}
目前尚不清楚,如果没有更多代码,但是根据您的评论,我将猜测您编写的php错误,并且破坏了javascript / html代码。也许你的报价之一?查看页面的源代码,并通过一种在线验证服务(例如http://validator.w3.org和http://www.jslint.com)运行它
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句