0

我在提交按钮上从 page1.php 调用 javascript 函数。在 action 属性中,我重定向到 page2.php。在 JavaScript 的 if 条件下,如果电子邮件未在 java 脚本函数中验证,我想将控件重定向到 page1.php。

4

2 回答 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 回答