3

我试图在单击提交时验证表单。有许多需要验证的输入都分配了 .ipv4val 类。我遇到的问题是我似乎无法将“坏”类添加到验证失败的单个输入元素中?

$("form").submit(function() {
    var REGEX = /^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/;  
    if (REGEX.test($(".ipv4val").val())) {
      return true;
    }
else {
      $(this).addClass("bad");
  return false;
   }

有任何想法吗 ?

4

3 回答 3

3

注意您的使用:$(this).addClass("bad")

$(this)form执行时的元素。尝试使用输入的元素 ID。

于 2012-07-10T20:15:12.713 回答
3

您是否考虑过jquery.validate 插件,而不是滚动您自己的验证?

于 2012-07-10T20:27:46.417 回答
2

试试这种方式:

$("form").submit(function() {
    var REGEX = /^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/;
    var ok=true;
    $(".ipv4val").each(function(){
        if (!REGEX.test($(this).val())) {
            $(this).addClass("bad");
            ok = false;
        }
    });
    return ok;
};
于 2012-07-10T20:17:44.683 回答