我在提交按钮上从 page1.php 调用 javascript 函数。在 action 属性中,我重定向到 page2.php。在 JavaScript 的 if 条件下,如果电子邮件未在 java 脚本函数中验证,我想将控件重定向到 page1.php。
问问题
55 次
2 回答
0
您不需要重定向到另一个 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>
于 2013-08-27T15:32:56.057 回答
0
要阻止表单提交到 action= 页面,除非经过验证,请调用 javascript 函数,如下所示:
<form onsubmit="return functionName()">
这样做是在提交表单之前从您的 javascript 函数中请求一个积极的回报,因此如果它不验证您可以:
return false;
并向用户显示错误消息,在这种情况下表单不会提交。
如果它确实验证了你可以
return true;
表格将照常提交。
于 2013-08-27T15:29:25.147 回答