Сначала я бы посоветовал взглянуть на jquery.validator для проверки формы: Проверка jQuery . Это облегчает проверку формы.
Исходя из опубликованного кода, я думаю, что вы пытаетесь проверить значения элементов формы, и вы пытаетесь проверить поля по непустым значениям.
Для этого вы можете попробовать что-то вроде этого:
$('#loginform').bind('submit', function (){
var elements = $(this).serializeArray();
$(":input").each(function{
var $this = $(this);
($this.val()=="") ? $this.addClass("hightlight").css({
'background': '#FFC4C4',
'border': '1px solid #F00'
}) : $this.removeClass("hightlight");
});
});
Теперь, когда вы назвали текстовые поля заголовка заголовком [], я предполагаю, что вы хотите проверить, чтобы эти текстовые поля имели хотя бы одно значение. Если это так, используйте это (это может быть использовано там, где имеется более одной группы элементов):
$('#loginform').bind('submit', function (){
var elements = $(this).serializeArray();
//Trim all Inputs
$(':input', this).each(function(){
$(this).val($.trim($(this).val()));
});
//Validated non Grouped Inputs
$(':input:not([name*="\[\]"])', this).each(function{ //Selects all input elements that don't end with []
var $this = $(this);
($this.val()=="") ? $this.addClass("hightlight").css({
'background': '#FFC4C4',
'border': '1px solid #F00'
}) : $this.removeClass("hightlight");
});
//Validated Grouped Inputs
$(':input[name$="\[\]"]', this).each(function(){
var $namedEls = $(':input[name="' + this.name + '"]', this);
//If no element in the name group is selected then mark as invalid.
if($namedEls.filter('[value!=""]').length == 0){
var $this = $namedEls.eq(0);
$this.addClass("hightlight").css({
'background': '#FFC4C4',
'border': '1px solid #F00'
}) : $this.removeClass("hightlight");
}
});
});