Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于电子邮件比较/验证的PHP代码_Javascript_Php_Html - Fatal编程技术网

Javascript 用于电子邮件比较/验证的PHP代码

Javascript 用于电子邮件比较/验证的PHP代码,javascript,php,html,Javascript,Php,Html,我正在尝试创建一个函数来比较两个电子邮件字段 例如: Email : <input type="text" name="email" id="email" value="<?=$email?>" required> Confirm email : <input type="text" name="email2" id="email2" onblur="confirmEmail()" value="<?=$email2?>" required

我正在尝试创建一个函数来比较两个电子邮件字段

例如:

Email : <input type="text" name="email" id="email" value="<?=$email?>"    
required> 

Confirm email : <input type="text" name="email2" id="email2" 
onblur="confirmEmail()" value="<?=$email2?>" required>
以下是我插入HTML的JavaScript代码:

 <script type="text/javascript">
 function confirmEmail() {
 var email = document.getElementById("email").value
 var email2 = document.getElementById("email2").value
 if (email != email2) {
 alert('Email Not Matching!');  }
    }
 </script>
代码是有效的

一旦用户输入第二个电子邮件地址,localhost将显示一个警报,说明:电子邮件不匹配

为了进行额外的度量,我在表单的属性中插入了以下内容:onsubmit=returnconfirmeail

因此,如果用户忽略了第一个警告,当他试图按下SUBMIT按钮时,会收到第二个警告

不幸的是,这就是我被困的地方。因为:在第二次警告之后,如果用户仍然没有修改确认电子邮件,则提交按钮仍然有效,表单将被发送

如何修改代码,以便:在用户正确更改email2之前,错误消息将继续显示


我试着使用WHILE函数和DO…WHILE函数。他们工作了………除了,错误信息一遍又一遍地显示………并且不允许我对电子邮件字段进行必要的更正哈哈。我必须完全关闭窗口

我将使用JavaScript提交表单

<form>
  Email : <input type="text" name="email" id="email" value="<?=$email?>"    
required> 

  Confirm email : <input type="text" name="email2" id="email2" 
onblur="confirmEmail()" value="<?=$email2?>" required>
</form>

<button onclick="formSubmit()">Learn More</button>

上面的函数将放在脚本标记中。它将检查电子邮件和email2,然后以与表单相同的方式将电子邮件提交到处理页面。您还可以通过使用document.getElementById'id'。value获取其他变量,然后通过GET方法发送它们,从而以相同的方式传递其他变量。

首先,为submit按钮指定如下id:

<input type="submit" value="Submit" id="mySubmit" disabled="disabled">
你能做的是:

 <script type="text/javascript">
 var count=0;

 function confirmEmail() {
 var email = document.getElementById("email").value
 var email2 = document.getElementById("email2").value

 function chkEmail(){
     if (email != email2 && count==0)
       { alert('Email Not Matching!'); count++ }
     else if(email!=email2 && count ==1)
       //display warning
   }
chkEmail();
    }
 </script>
试试这个兄弟

<form name="form" method="post" action="">
Email : <input type="text" name="email" id="email" value="<?=$email?>" required> 

Confirm email : <input type="text" name="email2" id="email2" value="<?=$email2?>" required>
<input type="submit" value="submit" onsubmit="return confirmEmail();"/>

</form>
和java脚本

 <script type="text/javascript">


 function confirmEmail() {
 var email = document.getElementById("email").value;
 var email2 = document.getElementById("email2").value;


     if (email != email2)
       { alert('Email Not Matching!');  return false; }
     else {
       return true;
      }

   }

 </script>

有人不复制粘贴吗?这些表单非常适合用于电子邮件比较的php代码,这是纯javascript,还是你真的想要php?@Dagon一些网站试图阻止这些字段上的复制和粘贴操作-这更让人恼火谢谢你的回复,Dhruv Ramani。很遗憾,您的代码不起作用:谢谢你的回复,斯林。我对这个很陌生;但是,formSubmit函数到底是在哪里定义的呢?编辑后包含了有关formSubmitThanks的信息,Joey!!!实际上,你的代码运行得很好。唯一的问题是:在禁用提交按钮的情况下,用户并不完全确定:他哪里出错了???哈哈。他知道表单有问题,因为提交按钮不起作用。但是,除非他被告知电子邮件不匹配,否则他不知道该找什么,当然,这应该是非常明显的;但是,我仍然试图创建一个用户友好型的表单,因为他们有一个JavaScript验证器内置到他们的窗体中。它可以帮助您创建一个用户友好的表单,还可以帮助您构建HTML。或者您可以继续添加到您的解决方案中。。。最终,您需要依赖服务器端验证PHP/etc以及客户端JS验证。。。一般来说,浏览器正在变得越来越智能,他们正在为您这样做。您可以在输入中添加诸如required=required之类的内容,现代浏览器将为您执行简单的验证,并要求用户输入字段。我已经在使用required功能。但是,当我尝试匹配电子邮件时,这对我没有帮助,即确保第二封电子邮件确认电子邮件与第一封电子邮件相同。我知道你在尝试做什么。基金会有一个叫做“遵守”的JS插件,可以这样做。谢谢,奥马尔。我昨天确实试过这个代码。它工作得很好…………但问题是:即使在我收到警告信息,并且没有输入正确的电子邮件之后,我仍然能够发送/提交表单。这是我在原来的帖子里说的。除非电子邮件字段相互匹配,否则我不希望提交表单!!
<form name="form" method="post" action="">
Email : <input type="text" name="email" id="email" value="<?=$email?>" required> 

Confirm email : <input type="text" name="email2" id="email2" value="<?=$email2?>" required>
<input type="submit" value="submit" onsubmit="return confirmEmail();"/>

</form>
 <script type="text/javascript">


 function confirmEmail() {
 var email = document.getElementById("email").value;
 var email2 = document.getElementById("email2").value;


     if (email != email2)
       { alert('Email Not Matching!');  return false; }
     else {
       return true;
      }

   }

 </script>