/* Validating Captcha Function */
function ValidCaptcha() {
var str1 = removeSpaces(document.getElementById('txtCaptcha').value);
var str2 = removeSpaces(document.getElementById('txtCompare').value);
if (str1 == str2) {
alert("請按OKAY兩次 (Please Press OKAY Twice To Submit)");
document.getElementById('contact-form').action = "/send_form_email.php";
}
else {
alert("請輸入正確的號碼 (Please Enter The Correct Vertification Number)");
event.preventDefault();
event.stopPropagation();
}
}
这是我在我的网站上用于javascript验证码元素的代码,这段代码完美无缺,但是在弹出警告框之后,“未定义”#永远都会跟着。我已经尝试返回true并返回false而没有运气。很多,谢谢< 3
顺便说一句,这就是我在HTML中提交javascript表单的方式
<form id="contact-form" class="form-horizontal" method="post" onsubmit="return alert(ValidCaptcha());">
答案 0 :(得分:1)
当您致电提交
时onsubmit="return alert(ValidCaptcha());"
你有警报。您的ValidCaptcha不会返回任何内容,因此未定义的原因。警报也没有任何回报,所以毫无意义。
应该只是
onsubmit="return ValidCaptcha();"
现在你应该返回一个布尔值。
function ValidCaptcha() {
var str1 = removeSpaces(document.getElementById('txtCaptcha').value);
var str2 = removeSpaces(document.getElementById('txtCompare').value);
if (str1 == str2) {
alert("請按OKAY兩次 (Please Press OKAY Twice To Submit)");
document.getElementById('contact-form').action = "/send_form_email.php";
return true
} else {
alert("請輸入正確的號碼 (Please Enter The Correct Verification Number)"); //<Vertification should be Verification
event.preventDefault();
event.stopPropagation();
return false;
}
}
答案 1 :(得分:1)
onsubmit是错误的函数调用更改,如onsubmit="return ValidCaptcha(event);"
。并且还使用onsubmit
传递了该事件。然后只有e.preventDeafult()
正在运行
您可以使用trim()
删除不需要的空格。
<强>的Javascript 强>
function ValidCaptcha(e) {
var str1 = document.getElementById('txtCaptcha').value.trim();
var str2 = document.getElementById('txtCompare').value.trim();
if (str1 == str2) {
alert("請按OKAY兩次 (Please Press OKAY Twice To Submit)");
document.getElementById('contact-form').action = "/send_form_email.php";
}
else
{
alert("請輸入正確的號碼 (Please Enter The Correct Vertification Number)");
e.preventDefault();
e.stopPropagation();
}
}
<强> HTML 强>
<form id="contact-form" class="form-horizontal" method="post" onsubmit="return ValidCaptcha(event);">