表单元素验证JQuery

时间:2011-09-07 21:05:42

标签: jquery forms verification if-statement

大家好我有一个有4个字段的表单 我可以检查是否有任何字段是空的并且没有问题地更改背景颜色,但我得到的问题是如果所有字段都不为空它不会继续使用代码

$(document).ready(function(){
$("#submitpw").click(function(){
var un = $("#FirstName").val();
var pw = $("#LastName").val();
var sid = $("#StudentID").val();
var ss = $("#LastFour").val();
var unl = un.substring(0,un.length - un.length + 1);
var pwl = pw.substring(0,pw.length - pw.length +4)
var emptyTextBoxes = $('.information').filter(function() { return this.value == ""; });
emptyTextBoxes.each(function() {
if ($('.information:empty'))
{
$(this).css("background-color", "red");
alert("Please Enter Information in the Red Fields");
}
else
{
("This is the part that never triggers!!!")
alert("it worked");
$("#campusun").html(unl+pwl+sid+ss);
$("#campuspw").html(sid+ss);
$("#emailun").html(unl+pwl+sid+"@live.tcicollege.edu");
$("#emailpw").html(sid+ss);
}
});
});
});

1 个答案:

答案 0 :(得分:0)

当然它永远不会触发。你基本上将$('.information')中的一组元素组合在一起,比如你得到3个元素。 each方法将调用每个元素的回调;由于$('.information')必须非空,甚至不能调用回调,并且您的检查的代码在调用的回调中,它永远不会满足条件。

听起来你想要这样做:

 if(emptyTextBoxes.length == 0)
 {
      alert("it worked");
      $("#campusun").html(unl+pwl+sid+ss);
      $("#campuspw").html(sid+ss);
      $("#emailun").html(unl+pwl+sid+"@live.tcicollege.edu");
      $("#emailpw").html(sid+ss);
 }
 else
 {
      emptyTextBoxes.each(function()
      {
          $(this).css("background-color", "red");
          alert("Please Enter Information in the Red Fields");
      });
 }