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>