如何检查表行验证失败的表行数

时间:2017-12-19 08:58:30

标签: javascript jquery

我在按钮点击事件上动态创建一个表的行。现在,如果我提交表单并且我的表单字段中有一些错误,我可以考虑动态创建总共7行,那我怎么会来知道创建了多少总行。

这就是我动态创建行的方式

 counter=0;
 $('.add-row').click(function(){
    counter=counter+1;
    $("#custom_fields").append("<tr><td><input type=text name='slab_name[]'/><span class='help-inline'>"+slab_name+"</span></td><td><input type='text' name='slab_start[]'/><span class='help-inline'>"+slab_start+"</span></td><td><input type='text' name='slab_end[]'/><span class='help-inline'>"+slab_end+"</span></td><td><input type='text' name='monthly_recurring_cost[]'/><span class='help-inline'>"+mrc+"</span></td><td><input type='text' name='data_in_mbs_slabs[]'/><span class='help-inline'>"+dim+"</span></td><td><input type='text' name='no_of_sms_slabs[]'/><span class='help-inline'>"+nos+"</span></td></tr>");
    alert(counter);
});

这里的计数器正在工作,但在页面刷新时显然它显然会显示为零

3 个答案:

答案 0 :(得分:0)

使用jQuery? 简单:

$('#custom_fields tr').length

计算&#34;计数&#34;在刷新时没有任何意义,除非你已经发布。

对于服务器端验证示例:

    <?php 
       $count = $_POST['count'] ?: 0;
    ?>

    <form id="validator" method="POST"><input type='hidden' value=$count;>
    <button>validate</button>
    </form>
 <script>
 var count = <?=$count?>;
    // ... rest of your code ...
    // and additional JS:
    $('#validator').on('submit', () => {
       $('#validator input').val($('#custom_fields tr').length);
    })
</script>

答案 1 :(得分:0)

表包含tbody标签然后像这样使用
$('#tableId tbody tr').length;

或者像这样使用 $('#tableId tr').length;

答案 2 :(得分:0)

如果您不希望将行计数器发布到服务器并在页面刷新时获取它,则可以使用LocalStorage而不是普通的JavaScript变量,如下所示:

$('.add-row').click(function(){
   // do your stuff here.
   if (localStorage.counter) {
     localStorage.counter = Number(localStorage.counter) + 1;
   } else {
     localStorage.counter = 1;
   }
}

即使您刷新页面,也会将其存储在localStorage中。 localStoragesessionStorage属性允许在Web浏览器中保存键/值对。此值也可在整个Web浏览器中使用。因此,您甚至可以在刷新页面时访问它。