用于电子邮件比较/验证的PHP代码
PHP Code for Email Comparison / Verification
我正在尝试创建一个函数来比较两个电子邮件字段。
如:
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="return confirmEmail()
因此,如果用户忽略了第一个警告,当他试图按下"提交"按钮时,就会收到第二个警告。
不幸的是,这就是我的困境。因为:在第二次警告之后,如果用户仍然没有修改"确认电子邮件",则"提交"按钮仍然有效。表单将被发送。
我如何修改代码,以便:错误消息继续显示,直到用户正确更改电子邮件2??
(我试着使用WHILE函数和DO….WILE函数。它们起作用了…………只是,错误消息不断显示………,不允许我对电子邮件字段进行必要的更正(哈哈)。我不得不完全关闭窗口)
首先,给提交按钮一个ID,如下所示:
<input type="submit" value="Submit" id="mySubmit" disabled="disabled">
在你的if块中添加:
if (email !== email2) {
alert('Not matching')
document.getElementById("mySubmit").disabled = true;
}else{
document.getElementById("mySubmit").disabled = false;
}
您可以做的是:
<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>
我会用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>
您的formSubmit()函数只需拉入值,并在正确的检查后提交它们。这样,无论用户输入什么,在提交之前都必须经过您的验证。
function formSubmit() {
var email = document.getElementById("email").value;
var email2 = document.getElementById("email2").value;
if (email != email2) {
alert('Email Not Matching!');
} else {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","/Your/Path/To/Your/Form-Processing/?email="+email,true);
xmlhttp.send();
}
上面的函数将出现在您的脚本标记中。它检查email
和email2
,然后以与表单相同的方式将带有GET的email
提交到处理页面。您也可以以相同的方式传递其他变量,方法是使用document.getElementById('#id').value
获取它们,然后通过GET方法发送它们。
试试这个兄弟,
<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代码在textbox更改事件上显示null
- 无法运行php代码,有角度路由问题
- jquery中的PHP代码不起作用
- 获取PHP代码中日期选择器的值
- PHP代码古埃及乘法javascript
- PHP代码中实现的JavaScript |if语句不起作用
- 如何将javascript变量传递到Php代码中.
- 在按钮'上运行PHP代码;s onclick事件,或者使用Ajax
- 停止直接执行php代码而不点击按钮
- php代码或脚本接受自动完成列表中文本框中的值
- 无法使autocompletion与bootstrap和php代码点火器一起工作
- 添加 PHP 代码的 Javascript 下拉框
- 在 php 代码中实现倒计时 js 倒计时
- AJAX 中的 PHP 代码到 POST
- 用于修改文档元素的 PHP 代码
- 链接适用于所有浏览器,除了 safari(php 代码)
- PHP 代码中的 CSS 弄乱了 IE9 中的布局
- Javascript的“document.write()”中的PHP代码
- JavaScript 函数在 php 代码中的调用中不起作用
- JavaScript 只在 php 代码中执行一次