我在表单页面上有以下顺序,首先它通过验证码运行,然后验证电子邮件地址,然后询问您是否确定要取消订阅。
除了点击"取消"仍然提交表格。我无法使用" onclick"在提交按钮中,因为它将绕过验证码。在我的"如果电子邮件是真的'否则'"声明我已经尝试过两次"返回"并且"返回:false"但他们都没有停止提交表格。
感谢您的帮助。
<form action='<?php echo $_SERVER['PHP_SELF']; ?>' name="unsubscribe" method='post' onsubmit="return checkForm(this);"">
function checkForm(form) {
var frm = document.unsubscribe;
if(!form.captcha.value.match(/^\d{5}$/)) {
alert('Please enter the CAPTCHA digits in the box provided');
form.captcha.focus();
return false;
}
if (validEmail(frm.Email.value) != true) {
alert("Please enter a valid email address");
frm.Email.focus();
return false;
}
if (validEmail(frm.Email.value) == true) {
confirm('Are you sure you want to unsubscribe?');
return true;
}
else {
return false;
}
}
function validEmail(email){
var status = false;
var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
if (email.search(emailRegEx) == -1) {
status = false;
}
else {
status = true;
}
return status;
}
答案 0 :(得分:1)
confirm
returns a boolean - true
如果用户点击“确定”,false
如果他们点击“取消”,那么只需返回confirm
来电的结果:
if (validEmail(frm.Email.value) == true) {
return confirm('Are you sure you want to unsubscribe?');
}