0

我有以下表格

 <form action="test.php" id="loginform" name="loginform" method="post">
     <input name="title[]" id="title1" type="text" value="" tabindex="1" />
     <input name="title[]" id="title2" type="text" value="" tabindex="2" />
     <input  name="title[]" id="title3" type="text" value="" tabindex="3" />
     <input type="submit" name="submit" value="Submit" id="submit" tabindex="4" />
 </form>

我可以使用此代码获取元素名称,但不能获取其 ID。

$('#loginform').bind('submit', function() { 
    var elements = $(this).serializeArray();
    $.each(elements, function(i, element) {
        var temp = $('#' + element['name']);
        var name = this.name; alert(name);
        var id = this.id; alert(id); ///even id = this.attr("id"); not getting

        var value = this.value; 
        (temp.val() == '') ? temp.css({'background': '#FFC4C4', 'border': '1px solid #F00'}) : temp.removeClass('hightlight');
    });
    return false;
});

演示

4

1 回答 1

1

为您更新这个答案:

这段代码:

var id = $(this).id;alert(id);

应该变成这样:

var id = $('input[name="' + name + '"]').attr("id");
alert(id);

请参阅此处的代码:http: //jsfiddle.net/Ct8zf/5/

请注意,根据.serializeArray()文档,唯一被序列化的元素是名称和值。

希望这可以帮助。

于 2011-01-27T09:40:41.770 回答