javascript - 使用 Jquery 限制以表单形式克隆的文件输入

标签 javascript jquery forms clone field

我使用这个 Jquery 函数来克隆表单中的文件输入字段,

$(function() {
    var scntDiv = $('#clone');
    var i = $('#clone p').size() + 1;

    $('#addImg').live('click', function() {
            $('<p><label for="attach"><input type="file" name="attachment_'+ i +'"  /> <a href="#" id="remImg">Remove</a></label></p>').appendTo(scntDiv);
            i++;
            return false;
    });

    $('#remImg').live('click', function() {
            if( i > 2 ) {
                    $(this).parents('p').remove();
                    i--;
            }
            return false;
    });
});

是否可以限制可以克隆的字段?假设有 4 个字段?

非常感谢,
菲利普

最佳答案

例如,首先在添加输入的函数中使用此示例:

if($('input[name^="attachment_"]').length>=4){return false;}

它使用以 attachment_ 开头的名称属性对输入进行计数,如果找到 4,则离开该函数。

此外:您不应该对克隆的元素使用 ID,因为 ID 必须是唯一的,但在本例中它们不是唯一的。使用其他属性,例如 classname

关于javascript - 使用 Jquery 限制以表单形式克隆的文件输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4544623/

相关文章:

javascript - Jquery 麻烦!!负载 ("");

javascript - 使用 AngularJS 中的点读取 JSON 变量

javascript - JavaScript 中的动态正则表达式生成

javascript - CKEDITOR 内联动态创建的元素(可放置/可排序)

javascript - 禁用 HTML 表单上的多次提交

javascript - 调试AngularJS,拼接列表

javascript - 必须点击两次才能切换 .click() 事件

javascript - 如何在页面完全加载之前将 jQuery 效果应用于元素?

jquery - ajax 提交前的 HTML5 验证

forms - Symfony 2 - 如何删除日期字段类型的默认日期选择器?