在jquery中验证表的所有输入

时间:2016-09-14 07:28:54

标签: javascript jquery validation loops

我有一组动态生成的输入,并且它们的ID会根据数组中的项目数递增

$("#btn_post").click(function(e){ //send message button id 
        $('#ajax_loader').show();
        $.ajax({
            url:'messages/insert_group_messages',
            type: "POST", 
            data: $('#frmGroupMessage').serialize(),
            dataType: "text",
            success: function(){        
                $('#messages').load('group_name/new_messages/'+$('#group_id').val()).fadeIn("slow");
                $('#messages').scrollTop($('#messages')[0].scrollHeight); // i tried this to scroll down but its not working.
                $('#ajax_loader').hide();
           },
           error:function (xhr, ajaxOptions, thrownError){
                alert(thrownError); 
           }
        });
        e.preventDefault(); 
    });

我正在尝试使用JQuery循环遍历所有生成的输入以确保它们不为空

2 个答案:

答案 0 :(得分:0)

尝试使用此 -  您可以在此处使用表格ID替换table - $('#tableId :input')

$('table :input').each(function(){
    //Enter your code to validate input
    console.log($(this).attr('name') + " : " + $(this).val());
});

答案 1 :(得分:0)

试试这个代码段。

这将允许您验证空的字段,并尝试使用过滤器,这可以帮助您在没有任何循环的情况下执行此操作。

更多信息filter

$('#sender_container').on('submit',function(e)
{
   e.preventDefault();
   validate();
});
function validate()
{
  $('#sender_container > input[type="text"]')
      .removeClass('error')
      .filter(function()       { 
        // Remove error classes. Filter
        return !$.trim(this.value);
      })
      .addClass('error');
}
.error {
    border: 1px solid red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="post" id="sender_container">
    <input type="text" name="name[]" />
    <input type="text" name="name[]" />
    <input type="text" name="name[]" />
    <input type="text" name="name[]" />
    <input type="text" name="name[]" />
    <input type="submit" name="submit" />
</form>