(Javascript)如何删除未定义的'警告框后

时间:2017-06-02 17:05:30

标签: javascript jquery html undefined

/* 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());">

2 个答案:

答案 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);">