2013-06-25 111 views
0

我试图验证我的形式空字段,但我不知道我应该用什么代码可以有人请告诉我 我曾尝试下面的代码,但它不工作表单验证

$("validate").submit(function(event){ 
    $(".offset2").each(function(index) { 
     if ($(this).val() == 0) { 
      $("#error").css({"display": "inline"}).text("Some of the fields are empty"); 
      event.preventDefault(); 
     } 
    }); 
}); 
+2

如果你想测试一个字段是否为“空”,你应该测试一个空字符串,而不是0。 =''操作符实际上返回'true'为'“”== 0'和为'“0”== 0',但是如果用户实际上键入了一个显然不是空的'0'... – nnnnnn

+0

$(this)。 val()===“” – CodeMonkeyForHire

回答

0

试试这个,

$(function(){ 
    $("validate").submit(function(event){ 
     event.preventDefault(); 
     var status=true; 
     $(".offset2").each(function(index) { 
      if (!$(this).val()) { 
       $("#error").css({"display": "inline"}).text("Some of the fields are empty"); 
       status=false; 
      } 
     }); 
     return status; 
    }); 
}); 
1

入住这

if ($(this).val().length == 0) { // .length is missing in your code 
    // Show Error 
} 
// Or 
if (!$(this).val()) { // Empty string is consider as false type in JavaScript 
    // Show Error 
} 
0

不是你 “验证” 之前错过了 “#”。

$("#validate").submit(function(event){ 
     $(".offset2").each(function(index) { 
      if ($(this).val() == 0) { 
       $("#error").css({"display": "inline"}).text("Some of the fields are empty"); 
       event.preventDefault(); 
      } 
     }); 
    } 

); 

http://api.jquery.com/submit/

0

@CodeMonkeyForHire建议使用插件。最常用的是jQueryValidation。它可以让你写类似这样的标记:

<input id="cname" name="name" minlength="2" type="text" required/> 

,然后在你的提交按钮,你做一个单一的呼叫来验证表单内的所有元素:

$("#commentForm").validate(); 

有喜欢ParselyJs或许多其他框架ValidateJs,你可以试试。

P.S.谷歌是你的朋友,总是寻找插件(可能是别人也有同样的问题)