javascript - 表单验证错误

标签 javascript html

我对表单没有什么问题,我正在使用 js 进行验证。

这是我的表单代码。

<form method="get" onkeydown="checkEnter()" action="emailform.php" id="signupform" name="subscribe">
  <input name="email" id="email" type="text" value="Enter Email for Updates" onfocus="if(this.value=='Enter Email for Updates'){this.value=''};" />
  <input type="hidden" name="submitted" id="submitted" value="true" />
</form>

我正在使用 id signupform 进行验证并在按下 enter 按钮时提交表单。

但是当输入 signupform 时出现问题,然后我的验证开始正常工作,当我输入正确的电子邮件时它显示错误,当我删除 signupform id 时我的表单提交在没有验证的情况下工作正常。

这是我的 id signupform JS 代码。

function SubscribeForm() {
  $('#signupform').submit(function () {
    $('.email').removeClass('error')
    $('em.error').remove();

    var error = false;
    var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;

    if ($.trim($('.email').val()) == '') {
      $(this).append('<em class="error">Please enter your email address.</em>');
      $(this).addClass('error');
      error = true;
    } else if (!emailReg.test(jQuery.trim($('.email').val()))) {
      $(this).append('<em class="error">Please enter a valid email address</em>');
      $(this).addClass('error');
      error = true;
    }
    if (!error) {
      $("#submit", this).after('<span id="form_loading"></span>');
      var formValues = $(this).serialize();

      $.post($(this).attr('action'), formValues, function (data) {
        $("#signupform").before(data);
      });

      $(':input[type="text"]').attr('value', '');
    }
    return false
  });
}

最佳答案

改变

return false

return error;

它引起了问题。

关于javascript - 表单验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12670348/

相关文章:

javascript - 将JSON数据转换为二维数组

c# - 如何从代码隐藏中获取标签内部文本

html - 如何在 window phone 8 上禁用缩放

javascript - 使用生成的链接 url 填充文本字段

CSS div与垂直居中的一侧重叠

html - 如何将下标应用于 html 组合框中的字母

javascript - 主干保存嵌套集合

javascript - 如何在初始 vue.js/vue-router 加载时加载所有服务器端数据?

javascript - Netbeans Web应用程序错误404包含js

javascript - JS : functionname ("yes/no");