具有动态输入的表单验证

数据科学

第一期

用户可以单击按钮以将输入动态追加到表中。提交后,应验证每个输入。以下内容适用于第一个附加输入,但当全部为空时(因为跨度已存在),不适用于后续输入:

     $('input[id^=item_name]').each(function() {
        name = $(this).closest('tr').find('input[id^=item_name]').val();
        if(name==null || name==''){
            if ($('span:contains("Enter an item name")').length==0){
                $(this).closest('td').addClass('has-error');
                $(this).after('<span class="error" style="color:red;font-size:14px;">Enter an item name</span>');
            }
        }
    });

如果更改$('span:contains("Enter an item name")')$(this).closest('span:contains("Enter an item name")').length==0,则仅返回“ 0”。我在哪里错了?

第二期

用户应立即收到动态输入之一的更改满足错误的反馈。

   $('input[id^=item_name]').focusout(function(){
        name = $(this).closest('tr').find('input[id^=item_name]').val();
        if(name==null || name==''){
            if ($('span:contains("Enter an item name")').length==0){
                $(this).closest('td').addClass('has-error');
                $(this).after('<span class="error" style="color:red;font-size:14px;">Enter an item name</span>');
            }
        }
        else {
            $('span:contains("Enter an item name")').remove();
        }   
    });

我在这里可能遇到同样的问题$('span:contains("Enter an item name")')您的想法受到赞赏。

数据科学

更改$('span:contains("Enter an item name")')$(this).closest('td').find('span:contains("Enter an item name")')似乎有效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章