我在提交按钮上从page1.php调用javascript函数。在action属性中,我重定向到page2.php。在JavaScript的if条件中,如果java脚本函数中没有验证电子邮件,我想将控件重定向到page1.php。
要阻止表单提交到action=页面,除非经过验证,请调用如下javascript函数:
<form onsubmit="return functionName()">
这样做的目的是在javascript函数提交表单之前请求它的正返回,所以如果它没有验证,你可以:
return false;
并向用户显示错误消息,在这种情况下表单不会提交。
如果它确实验证了你可以
return true;
表格将照常提交。
您不需要重新更正到另一个php脚本来进行javascript验证。需要说明的是,javascript是在客户端运行的。通过重新更正到另一个脚本,您就失去了对电子邮件表单输入字段的访问权限,所以为了在另一个剧本中再次进入,您必须将其输入到客户端,并将其输出到html中。
不需要这样做,您可以在点击提交按钮后轻松验证电子邮件:
<script type="text/javascript">
document.getElementById('submitButton').onclick=function(){
if(!validateEmail()){
alert("E-mail is not valid");
return false;
}
}
};
function validateEmail(email) {
var re = /^(([^<>()[']''.,;:'s@'"]+('.[^<>()[']''.,;:'s@'"]+)*)|('
".+'"))@(('[[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'])|(([a-zA
-Z'-0-9]+'.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
</script>